TFLearn无法正确加载形状的训练数据

时间:2019-05-10 15:00:42

标签: tensorflow machine-learning prediction tflearn

我正在尝试创建一个AI,以使用Tensorflow和TFLearn预测FRC比赛的结果。

这是相关的

x = np.load("FRCPrediction/matchData.npz")["x"]
y = np.load("FRCPrediction/matchData.npz")["y"]

def buildModel():
    net = tflearn.input_data([10, 0])
    net = tflearn.fully_connected(net, 64)
    net = tflearn.dropout(net, 0.5)
    net = tflearn.fully_connected(net, 10, activation='softmax')
    net = tflearn.regression(net, optimizer='adam', loss='categorical_crossentropy')

    model = tflearn.DNN(net)
    return model

model = buildModel()

BATCHSIZE = 128

model.fit(x, y, batch_size = BATCHSIZE)

它因错误而失败:

Training samples: 36024
Validation samples: 0
--
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-ce7cbb8e618a> in <module>()
----> 1 model.fit(x, y, batch_size = BATCHSIZE)

4 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1126                              'which has shape %r' %
   1127                              (np_val.shape, subfeed_t.name,
-> 1128                               str(subfeed_t.get_shape())))
   1129           if not self.graph.is_feedable(subfeed_t):
   1130             raise ValueError('Tensor %s may not be fed.' % subfeed_t)

ValueError: Cannot feed value of shape (128, 36) for Tensor 'InputData/X:0', which has shape '(?, 10, 0)

非常感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

此错误表示您的X尺寸为(some_length, 36),无法与尺寸为(10, 0)的输入层配合。我怀疑您的第二维等于0,形状应至少为1。 要解决此问题,您应该执行以下操作:

net = tflearn.input_data(shape=[None, 36])

None获取动态尺寸,该尺寸将与所有BATCHSIZE匹配,无论是128、1000还是2000