【问题标题】:Return tensorflow layer outputs from a function从函数返回张量流层输出
【发布时间】:2018-10-23 15:11:29
【问题描述】:

我在一个单独的文件中编写了以下模型:

def fun(X,num_actions,hiddens,layer_norm,keep_prob = 0.5):



    out = X

    out = layers.fully_connected(out, num_outputs=hidden[0], activation_fn=None)
    out1 = tf.nn.relu(out)

    drop_out = tf.nn.dropout(out1, keep_prob)

    out2 = layers.fully_connected(drop_out, num_outputs=hidden[1], activation_fn=None)
    out2 = tf.nn.relu(out2)

    out3 = layers.fully_connected(out2, num_outputs=hidden[2], activation_fn=None)
    out3 = tf.nn.relu(out3)


    out4 = layers.fully_connected(out3, num_outputs=num_actions, activation_fn=None)

   return out4

我在不同文件中定义的类中调用此函数,如下所示:

class a(): 
    def __init__(scope):
     with tf.variable_scope(scope):
        # Build the graph
        self._build_model(...) #this calls the function fun()

我想获取从 fun() 函数返回的 out1,drop_out,out2,out3,out4 的值,但 tensorflow 给了我错误。

我阅读了一些帖子以使用 tf.get_variable() 获取任何张量。但是我不知道如何获得这些层输出,因为我没有命名它们并且在全局变量空间中搜索它们是一项艰巨的任务。

你认为这些张量会在我在class a() 中使用的范围名称下可用吗? ?我的最终目标是将这些值写入 tensorboard。

【问题讨论】:

    标签: python tensorflow neural-network


    【解决方案1】:

    我想获取从 fun() 函数返回的 out1,drop_out,out2,out3,out4 的值,但 tensorflow 给了我错误。

    如果你想获得这些值,你需要return

    但是 tensorflow 给了我错误。

    如果我们不知道错误是什么,我们无法帮助您

    【讨论】:

      猜你喜欢
      • 2018-05-03
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2021-11-05
      相关资源
      最近更新 更多