Я получаю следующую ошибку...
ValueError: невозможно передать значение формы (16,) для Tensor 'TargetsData/Y:0', которое имеет форму '(?, 16)'
Я понимаю, что это связано с формой моей переменной Y
, которая в данном случае является переменной labels
, но я не знаю, как изменить форму, чтобы моя модель работала.
По сути, у меня есть файл CSV
, который я сохранил в переменной, используя pandas
...
data = pd.read_csv('Speed Dating Data.csv')
После некоторой предварительной обработки я решил извлечь свой целевой класс так...
# Target label used for training
labels = np.array(data["age"], dtype=np.float32)
Затем я удалил этот столбец из моей переменной data
...
# Data for training minus the target label.
data = np.array(data.drop("age", axis=1), dtype=np.float32)
Затем я решил настроить свою модель...
net = tflearn.input_data(shape=[None, 32])
net = tflearn.fully_connected(net, 32)
net = tflearn.fully_connected(net, 32)
net = tflearn.fully_connected(net, 16, activation='softmax')
net = tflearn.regression(net)
# Define model.
model = tflearn.DNN(net)
model.fit(data, labels, n_epoch=10, batch_size=16, show_metric=True)
Если я запускаю это, я получаю ошибку выше. Поскольку мой labels
кажется (16,)
, но мне нужно, чтобы он был (?, 16)
, я попробовал следующий код...
labels = labels[np.newaxis, :]
Но это дает еще одну ошибку. Думаю, я не уверен, какой должна быть форма моего целевого класса, labels
. Как я могу это исправить?