Theano/Lasagne/Nolearn 神经网络图像输入

我正在进行图像分类任务,并决定使用 Lasagne + Nolearn 来构建神经网络原型。所有标准的例子,如 MNIST 数字分类,都运行得很好,但当我尝试处理自己的图像时就出现了问题。

我想使用三通道图像,而不是灰度图像。以下是我尝试从图像中获取数组的代码:

 img = Image.open(item) img = ImageOps.fit(img, (256, 256), Image.ANTIALIAS) img = np.asarray(img, dtype = 'float64') / 255. img = img.transpose(2,0,1).reshape(3, 256, 256)    X.append(img)

这是神经网络及其拟合的代码:

X, y = simple_load("new")X = np.array(X)y = np.array(y)net1 = NeuralNet(    layers=[  # three layers: one hidden layer        ('input', layers.InputLayer),        ('hidden', layers.DenseLayer),        ('output', layers.DenseLayer),        ],    # layer parameters:    input_shape=(None, 65536),  # 96x96 input pixels per batch    hidden_num_units=100,  # number of units in hidden layer    output_nonlinearity=None,  # output layer uses identity function    output_num_units=len(y),  # 30 target values    # optimization method:    update=nesterov_momentum,    update_learning_rate=0.01,    update_momentum=0.9,    regression=True,  # flag to indicate we're dealing with regression problem       max_epochs=400,  # we want to train this many epochs        verbose=1,        )  net1.fit(X, y)

我收到了如下异常:

Traceback (most recent call last):  File "las_mnist.py", line 39, in <module>    net1.fit(X[i], y[i])  File "/usr/local/lib/python2.7/dist-packages/nolearn/lasagne.py", line 266, in fit    self.train_loop(X, y)  File "/usr/local/lib/python2.7/dist-packages/nolearn/lasagne.py", line 273, in train_loop    X, y, self.eval_size)  File "/usr/local/lib/python2.7/dist-packages/nolearn/lasagne.py", line 377, in train_test_split    kf = KFold(y.shape[0], round(1. / eval_size))IndexError: tuple index out of range

那么,您是如何将图像数据“输入”到网络中的呢?感谢您的回答或任何建议!


回答:

我也在 lasagne-users 论坛上提出了这个问题,Oliver Duerr 用代码示例帮了我很多忙:https://groups.google.com/forum/#!topic/lasagne-users/8ZA7hr2wKfM

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注