【发布时间】:2025-12-05 12:55:02
【问题描述】:
假设有一个模型定义为这样的类:
class SimpleAutoencoder(object):
def __init__(self, x):
self.x = x
self.input_dim = 92
self.latent_dim = 10
self.build_model()
def build_model(self):
latent = tf.contrib.layers.fully_connected(self.x,
self.latent_dim,
scope='latent',
activation_fn=tf.nn.relu)
self.x_hat = tf.contrib.layers.fully_connected(latent,
self.input_dim,
scope='output',
activation_fn=tf.nn.sigmoid)
self.loss = tf.losses.mean_squared_error(self.x, self.x_hat)
self.train_op = tf.AdamOptimizer().minimize(self.loss)
您使用输入管道对其进行训练以提供数据:
...
x = iterator.get_next()
model = SimpleAutoencoder(x)
...
## train and save it to disk
现在,当在构建模型时使用 self.x 的占位符时,我可以在恢复模型进行推理时为其命名并轻松访问输入变量。但是对于输入管道,x 不是变量、常量或占位符,因此我不能给它一个正确的名称。 如何将新数据注入x 并通过图表输入?
尽管训练有效,但我认为我可能会以某种方式做错,因为代码在我看来真的很难看(将管道输出提供给 init 函数的部分)。
请帮我解决这个问题!谢谢!
【问题讨论】:
标签: python tensorflow tensorflow-datasets