1

我一直在用 Lasagne 训练一些神经网络和卷积网络,并使用 Python 进行大部分数据/图像预处理。但是,我想将其中的一些合并到我的千层面层中,以使我的代码更加灵活。

是否有可以调整输入图像大小的千层面层?

4

1 回答 1

0

nolearn.lasagne.BatchIterator您可以使用;而不是在层中执行此操作 在以下片段中,我将原始一维信号重新采样为 1000 点信号:

from nolearn.lasagne import BatchIterator
from scipy.signal import resample
import numpy as np

class ResampleIterator(BatchIterator):

    def __init__(self, batch_size, newSize):
        super(ResampleIterator, self).__init__(batch_size)
        self.newSize = newSize

    def transform(self, Xb, yb):
        X_new = resample(Xb, self.newSize, axis=2).astype(np.float32)    
        return X_new, yb


 myNet = NeuralNet(
 # define your usual other parameters (layers, etc) here

    # and these are the lines you are interested in:
    batch_iterator_train=CropIterator(batch_size=128, newSize=1000),
    batch_iterator_test=CropIterator(batch_size=128, newSize=1000),
    )

我不知道你是否使用过,你可以在这里nolearn阅读更多关于它的信息(安装、示例)

于 2015-09-17T11:13:21.377 回答