Tensorflow の上に Tflearn を使用して CNN をセットアップしています。画像フィルターを適用するようにトレーニングしたいので、単一チャネルのグレースケール 513x217px 画像の前後のペアを提供することから始めdata
ますdata2
。私が書いたコードは次のとおりです。
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 という数字が表示されないため、このエラーがわかりません。入力形式が正しくないことを示しているようですが、修正方法がわかりません。誰がこれを引き起こしているのか知っていますか?