TFlearn: ValueError: Невозможно передать значение формы (64, 2) для Tensor u'TargetsData / Y: 0 ', имеющей форму' (?,) ' - PullRequest
0 голосов
/ 25 сентября 2018

Я проверил все остальные ответы на ту же ошибку, которую смог найти, но я не понимаю, откуда эти формы данных.У меня есть тренировочный набор из 600 образцов по 6 объектов в каждом, пытающийся сопоставить их с матрицей меток 600x2, с целыми числами от 0 до 18.

import numpy as np
import tflearn
from sklearn.model_selection import train_test_split
import tensorflow as tf

typnp = np.array(types) #800x2 mtx
stanp = np.array(stats) #800x6 mtx
stat_tr, stat_tst, typ_tr, typ_tst, nam_tr, nam_tst = train_test_split(stanp,typnp,names) 
#training sets are cut to 600 samples

learning_rate = 0.05
epochs = 10

net = tflearn.input_data(shape=[None,6])
net = tflearn.fully_connected(net, 15, activation='sigmoid')
net = tflearn.dropout(net, keep_prob=0.5)
net = tflearn.fully_connected(net,19,activation='sigmoid')
net = tflearn.regression(net, optimizer='SGD',learning_rate=learning_rate, to_one_hot=True,
    n_classes=19, loss='categorical_crossentropy')

model = tflearn.DNN(net, tensorboard_verbose=0)
model.fit(stat_tr,typ_tr,n_epoch=epochs,validation_set=(stat_tst,typ_tst),show_metric=True)

typ_pred = model.predict(stanp)
print(typ_pred)

Я не уверен, где иликак он придумал что-то в форме 64х2, или почему он пытается сопоставить его с чем-то с отсутствующим измерением?(?,) Я попробовал одну горячую кодировку своих меток, поскольку они не упорядочены, но я даже не знаю, влияет ли это на ошибку, которую он выдает.Я уверен, что мне нужно поиграть с моей скоростью обучения и функциями активации, но сейчас мне просто нужно понять, что я делаю неправильно с этой моделью, и как вернуть целочисленные метки в качестве прогнозов.Любая помощь приветствуется.

Редактировать: В соответствии с просьбой, вот полный след ошибки также.

Traceback (most recent call last):
  File "type3.py", line 54, in <module>
model.fit(stat_tr,typ_tr,n_epoch=epochs,validation_set=(stat_tst,typ_tst),show_metric=True)
  File "/home/peetzaman521069/.local/lib/python2.7/site-packages/tflearn/models/dnn.py", line 216, in fit
callbacks=callbacks)
  File "/home/peetzaman521069/.local/lib/python2.7/site-packages/tflearn/helpers/trainer.py", line 339, in fit
show_metric)
  File "/home/peetzaman521069/.local/lib/python2.7/site-packages/tflearn/helpers/trainer.py", line 818, in _train
feed_batch)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 877, in run
run_metadata_ptr)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1076, in _run
str(subfeed_t.get_shape())))
ValueError: Cannot feed value of shape (64, 2) for Tensor u'TargetsData/Y:0', which has shape '(?,)'
...