0

我正在 Tensorflow 之上使用 Tflearn 建立一个 CNN。我想训练它应用图像过滤器,所以我从小处着手,为它提供一对之前/之后的单通道灰度 513x217px 图像datadata2. 这是我写的代码:

import tensorflow as tf
import tflearn
import numpy as np

#data and data2 are already defined. They're both a list of lists.

from tflearn.layers.core import input_data, dropout, fully_connected
from tflearn.layers.conv import conv_2d, max_pool_2d
from tflearn.layers.normalization import local_response_normalization
from tflearn.layers.estimator import regression

network = input_data(shape=[None, np.shape(data)[0], np.shape(data)[1], 1], name='input')
network = conv_2d(network, 256, 3, activation='relu', regularizer="L2")
network = regression(network, optimizer='adam', learning_rate=0.01,
loss='categorical_crossentropy', name='target')

model = tflearn.DNN(network, tensorboard_verbose=0)
model.fit({'input': data}, {'target': data2}, n_epoch=20,
snapshot_step=100, show_metric=True, run_id='convnet_mnist')

当我运行它时,我得到这个错误:

ValueError: Cannot feed value of shape (64, 217) for Tensor u'input/X:0', which has shape '(?, 513, 217, 1)'

我不明白这个错误,因为数字 64 没有出现在我的代码中。似乎表明输入格式不正确,但我不知道如何修复它。有谁知道这是什么原因造成的?

4

0 回答 0