【发布时间】: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