Я проверил все остальные ответы на ту же ошибку, которую смог найти, но я не понимаю, откуда эти формы данных.У меня есть тренировочный набор из 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 '(?,)'