Невозможно передать значение формы (32, 1, 3) для Tensor u '/ X: 0', который имеет форму '(?, 3) - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу создать проект подкрепления, но я борюсь с некоторыми проблемами.

У меня есть класс для моей нейронной сети.Состоит из одного входного слоя, двух скрытых слоев и одного выходного слоя.Он создается с помощью tflearn.

class Network():
    self.inputs, self.outputs = self.createNetwork()
    [...]
    def createNetwork(self):

        # Input-Layer
        inputs = tflearn.input_data(shape=[None, 3])

        # Hidden-Layer L1
        net = tflearn.fully_connected(inputs, 400, activation='relu')                                   

        # Hidden Layer L2
        net = tflearn.fully_connected(net, 300, activation='relu')                                   

        # Final layer weights are init to Uniform[-3e-3, 3e-3]
        weight_init_final = tflearn.initializations.uniform(minval=-0.003, maxval=0.003)
        output = tflearn.fully_connected(net, 1, activation='tanh', weights_init=weight_init_final)

        return inputs, output

и метода прогнозирования значения

def predict(self, inputs):
   return self.sess.run(self.outputs, feed_dict={
   self.inputs: inputs
   })

Я тренируюсь с размером пакета 32 и хочу прогнозировать значение.

network.predict(test_batch)

К сожалению, я получаю сообщение об ошибке «Невозможно передать значение формы (32, 1, 3) для Tensor u '/ X: 0', имеющего форму» (?, 3) 'test_batch.shapeрезультаты в (32, 1, 3)

1 Ответ

0 голосов
/ 07 декабря 2018

Ваш входной слой ожидает форму (?, 3) -> inputs = tflearn.input_data(shape=[None, 3])
Значение input_shape должно быть (None, 1, 3), чтобы соответствовать форме ваших данных.

...