如何在急切执行模式中替换tf.placeholder

我正在参考一个tf1的代码来开发一个模型。在参考代码中,他们使用了tf.placeholder来为模型提供输入,代码如下:

class model(object):    def __init__(self, lstm_size, batch_len, output_nodes, keep_prob, learning_rate=0.001):        self.inputs_ = tf.compat.v1.placeholder(tf.float32, shape=[batch_len, None, 512], name='lstm_inputs')        self.targets_ = tf.compat.v1.placeholder(tf.int32, [batch_len], name='lstm_targets')

这个模型的执行模式是图执行(tf.Graph)。

由于我想将代码转换并在急切执行模式下运行,但是tf.placeholder在急切执行模式下无法工作。我该如何替换tf.placeholder,同时不影响输入名称、数据类型和输入值的形状,以便适应急切执行模式?

再次强调,我需要将其转换为急切执行模式。


回答:

你可以使用tf.keras.Input()来替代tf.compat.v1.placeholder(),以便在急切执行模式下运行代码。

另外,请查看这个迁移指南,了解如何将TensorFlow 1.x代码转换为TensorFlow 2.x

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注