ValueError: Невозможно передать значение формы (64, 23) для Tensor 'target / Y: 0', который имеет форму '(?, 3)' - PullRequest
0 голосов
/ 02 мая 2020

Итак, я пытаюсь заставить работать нейронную сеть TFLearn (NN), но она дает мне следующую ошибку:

ValueError: Cannot feed value of shape (64, 23) for Tensor 'targets/Y:0', which has shape '(?, 3)'

Мои тренировочные данные сначала заносятся в список, содержащий numpy массив экрана вместе с другим списком, содержащим 0 и 1, которые являются входными данными, к которым модель будет корректировать свои веса. Таким образом, мои тренировочные данные имеют следующую структуру:

train = [[screen, inputs] for i in range(however_many_iterations)] 
#screen.shape = (320,180)
#inputs.shape = (1,23)

Когда я пытаюсь разделить данные следующим образом:

X = np.array([i[0] for i in train]).reshape(-1,WIDTH,HEIGHT,1)    
Y = [i[1] for i in train]

и передать их в сеть, я получаю ошибку выше. Он работает, когда len (входы) равен 3, но не когда его 23 (да, мне нужно, чтобы он был 23). Единственное, о чем я могу думать, это то, что моему NN не нравится иметь 23 значения в каждой строке в Y, но я вряд ли думаю, что в Tensorflow есть ограничение на количество значений в строке.

Вот NN, который я использую: https://pastebin.com/uhwdmQqp

...