tf.估计器需要用于预测十位数的标签数据和批次大小

2024-09-30 20:32:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个使用高级tfapi的网络,比如tf.估计器. 在

培训和评估工作做得很好并产生结果。但是在预测新数据时,get_inputs()需要label_data和{}。在

错误是:TypeError: get_inputs() missing 2 required positional arguments: 'label_data' and 'batch_size'

我如何解决这个问题以便做出预测?在

这是我的代码:

predictTest = [0.34, 0.65, 0.88]

predictTest只是一个测试,不会是我真正的预测数据。在

get_inputs(),这是引发错误的地方。在

^{pr2}$

预测输入:

def predict_input_fn():
    return get_inputs(
    predictTest,
    n_epochs=1,
    shuffle=False
    )

预测:

predict = estimator.predict(predict_input_fn)
print("Prediction: {}".format(list(predict)))

Tags: 数据网络inputdatagettf错误predict
2条回答

任何模型的测试有两种类型。 1) 你想要准确度,召回率等。你需要为测试数据提供一个标签。如果你不提供标签,它会给你一个错误。 2) 你只想测试你的模型而不计算准确度,而不需要标签,但这里的预测会有所不同。在

我想我必须为预测创建一个新的get_inputs()函数。在

如果我使用训练和评估使用的get_inputs(),那么它期望的是它不会得到的数据。在

get_inputs

def get_inputs(feature_data, label_data, batch_size, n_epochs=None, shuffle=True):
    dataset = tf.data.Dataset.from_tensor_slices( #from_tensor_slices
        (feature_data, label_data))

    dataset = dataset.repeat(n_epochs)
    if shuffle:
        dataset = dataset.shuffle(len(feature_data))
    dataset = dataset.batch(batch_size)
    features, labels = dataset.make_one_shot_iterator().get_next()
    return features, labels

创建一个新函数pred_get_inputs,它不需要label_data或{}:

^{pr2}$

相关问题 更多 >