Eadyn Thompson
Eadyn Thompson

Reputation: 71

TFLearn failing to properly load training data with shape

I'm trying to create an AI to predict the outcome of FRC competition matches using tensorflow and TFLearn.

Here is the relevant

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)

It is failing with error:

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)

Any help is much appreciated. Thanks.

Upvotes: 0

Views: 37

Answers (1)

Z&#233;zouille
Z&#233;zouille

Reputation: 533

This error means that your X dimension is (some_length, 36) which can't fit your input layer with a dimension of (10, 0). I doubt for your second dimension which equals to 0, the shape should at least 1. To solve it your should do:

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

None for a dynamic dimension which will match with all BATCHSIZE, no matter 128, 1000, or 2000

Upvotes: 1

Related Questions