为了账号安全,请及时绑定邮箱和手机立即绑定

如何从现有模型中获取一个张量并在另一个模型中使用它?

如何从现有模型中获取一个张量并在另一个模型中使用它?

白板的微信 2021-05-12 14:12:02
我要做的是从现有的训练模型中获取一些权重和偏差,然后在我的自定义操作(模型或图形)中使用它们。我可以使用以下方法还原模型:# Create contextwith tf.Graph().as_default(), tf.Session() as sess:    # Create model    with tf.variable_scope('train'):        train_model = MyModel(some_args)然后获取张量:latest_ckpt = tf.train.latest_checkpoint(path)if latest_ckpt:    saver.restore(sess, latest_ckpt)weight = tf.get_default_graph().get_tensor_by_name("example:0")我的问题是,如果要weight在另一个上下文(模型或图形)中使用它,如何安全地将其值复制到新图形中,例如:with self.test_session(use_gpu=True, graph=ops.Graph()) as sess:    with vs.variable_scope("test", initializer=initializer):        # How can I make it possible?        w = tf.get_variable('name', initializer=weight)欢迎任何帮助,非常感谢。感谢@Sorin的启发,我找到了一种简单干净的方法:z = graph.get_tensor_by_name('prefix/NN/W1:0')with tf.Session(graph=graph) as sess:    z_value = sess.run(z)with tf.Graph().as_default() as new_graph, tf.Session(graph=new_graph) as sess:    w = tf.get_variable('w', initializer=z_value)
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号