0
我是TFLearn的新手,嘗試創建一個簡單的加法程序。 輸入是2個值,輸出是一個值,這是輸入的總和。我得到的錯誤是"ValueError: Cannot feed value of shape (100,) for Tensor 'TargetsData/Y:0', which has shape '(?, 1)"
看起來形狀/批量大小似乎與代碼中的匹配,所以我不知道列車/測試數據的生成方式是否是問題,或者NN創建代碼是否有誤。 這裏是代碼:嘗試創建簡單加法模型時,TFLearn無法提供形狀值(ValueError)
import numpy as np
import tflearn
def generate_answers(data):
answers = []
for row in data:
answers.append(sum(row))
return np.array(answers).astype(float)
train_data_count = 1000
test_data_count = 100
net = tflearn.input_data(shape=(None, 2))
net = tflearn.fully_connected(net, 100)
net = tflearn.fully_connected(net, 100)
net = tflearn.fully_connected(net, 1, activation="linear")
net = tflearn.regression(net, optimizer='sgd', loss='mean_square', metric='R2', learning_rate=0.1)
model = tflearn.DNN(net)
train_data = np.random.randint(500, size=(train_data_count, 2)).astype(float)
train_answers = generate_answers(train_data)
print(train_data.shape)
print(train_answers.shape)
model.fit(train_data, train_answers, n_epoch=100, batch_size=100, show_metric=True)
test_data = np.random.randint(500, size=(test_data_count, 2)).astype(float)
test_answers = generate_answers(test_data)
predictions = model.predict(test_data)
count = 0
for i in range(len(predictions)):
if test_answers[i] == predictions[i]:
count += 1
print(count, "/", len(predictions))
任何幫助表示讚賞。