繁体   English   中英

尝试创建简单的加法模型时,TFLearn无法提供形状的值(ValueError)

[英]TFLearn cannot feed value of shape (ValueError) when trying to create a simple addition model

我是TFLearn的新手,正在尝试创建一个简单的加法程序。 输入为2个值,输出为一个值,即输入的总和。 我得到的错误是"ValueError: Cannot feed value of shape (100,) for Tensor 'TargetsData/Y:0', which has shape '(?, 1)"似乎形状/批量大小与代码,所以我不知道问题是火车/测试数据的生成方式还是NN创建代码错误。 这是代码:

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))

任何帮助表示赞赏。

事实证明,在回归之前添加net = tflearn.reshape(net, [-1])解决该问题。 该程序仍然存在一些错误,但至少可以解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM