【问题标题】:Is there any method in tensorflow like get_output in lasagne张量流中有没有像千层面中的get_output这样的方法
【发布时间】:2018-11-14 11:48:07
【问题描述】:

我发现用千层面制作这样的图表很容易。

import lasagne.layers as L
class A:
  def __init__(self):
    self.x = L.InputLayer(shape=(None, 3), name='x')
    self.y = x + 1

  def get_y_sym(self, x_var, **kwargs):
    y = L.get_output(self.y, {self.x: x_var}, **kwargs)
    return y

通过get_y_sym的方法,我们可以得到一个张量而不是一个值,然后我可以用这个张量作为另一个图的输入。

但是如果我使用 tensorflow,我该如何实现呢?

【问题讨论】:

    标签: tensorflow theano lasagne


    【解决方案1】:

    我不熟悉千层面,但您应该知道所有 TensorFlow 都使用基于图形的计算(除非您使用 tf.Eager,但那是另一回事了)。所以默认情况下是这样的:

    net = tf.nn.conv2d(...)

    返回对张量对象的引用。换句话说,net 不是一个值,它是对tf.nn.conv2d(...) 创建的卷积节点输出的引用。

    然后可以将它们链接起来:

    net2 = tf.nn.conv2d(net, ...) 等等。

    要获得“价值”,必须打开tf.Session

    with tf.Session() as sess:
      net2_eval = sess.run(net2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-09
      • 2015-11-15
      • 2021-10-17
      • 2023-03-07
      • 2017-11-01
      • 2020-10-23
      • 2020-06-09
      • 2019-02-02
      相关资源
      最近更新 更多