Python Tensorflow-如何向saver添加嵌入
我用TF训练一个模型,有两个文件,Python Tensorflow-如何向saver添加嵌入,python,tensorflow,tensorboard,Python,Tensorflow,Tensorboard,我用TF训练一个模型,有两个文件,myModel.py和train\u model.py。为此,我使用以下代码(train_model.py): 模型本身实现了如下保存和加载功能(myModel.py): 这是工作得很好,因为我可以保存和加载我的模型,并在那里做一些计算。 然而,我现在想在Tensorboard中使用PCA/TSNE来可视化每一层的激活 我的问题是: 我必须在train_model.py中添加嵌入,因为我想在训练后添加它。另一方面,我必须保存通过以下方式获得的嵌入变量: 使
myModel.py
和train\u model.py
。为此,我使用以下代码(train_model.py):
模型本身实现了如下保存和加载功能(myModel.py):
这是工作得很好,因为我可以保存和加载我的模型,并在那里做一些计算。
然而,我现在想在Tensorboard中使用PCA/TSNE来可视化每一层的激活
我的问题是:
我必须在train_model.py中添加嵌入,因为我想在训练后添加它。另一方面,我必须保存通过以下方式获得的嵌入变量:
使用mymodel.save()
函数。
如何向会话添加变量或将另一个检查点保存到同一目录
保存变量的最佳方法是什么?您会使用另一个只包含嵌入的检查点吗
谢谢你的帮助
罗马人
...
with tf.Session() as sess:
my_model = MyModel(placeholders, learning_rate, ...) # builds the graph
merged = tf.summary.merge_all()
config = projector.ProjectorConfig()
writer = tf.summary.FileWriter(save_path, sess.graph)
for epoch in range(num_epochs):
sess.run([model.opt_op, model.loss, model.accuracy, merged],
feed_dict=feed_dict)
...
model.save(path, sess=sess)
class MyModel:
self.vars = None
self.activations = None
self.build() # builds the graph and fills self.vars & self.activations
...
def save(self, path, sess):
saver = tf.train.Saver(self.vars)
saver.save(sess, path)
def load(self, path, sess):
saver = tf.train.Saver(self.vars)
saver.restore(sess, path)
act = output.eval(feed_dict=d, session=sess)
embedding_var = tf.Variable(act, name='activation_layer_{}'.format(i))