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

TFLearn failing to properly load training data with shape

我正在尝试使用 tensorflow 和 TFLearn 创建一个 AI 来预测 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)

非常感谢任何帮助。谢谢

此错误意味着您的 X 尺寸为 (some_length, 36),无法适合尺寸为 (10, 0) 的输入层。我怀疑你的第二个维度等于 0,形状应该至少为 1。 要解决它,您应该这样做:

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

None 表示将匹配所有 BATCHSIZE 的动态维度,无论是 128、1000 还是 2000