我在单独的文件中编写了以下模型:
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()
我想获取从out1,drop_out,out2,out3,out4
函数返回的fun()
的值,但是tensorflow给了我错误。
我阅读了一些帖子,以使用tf.get_variable()
获得任何张量。但是我不知道如何获取这些图层输出,因为我没有给它们命名并在全局变量空间中搜索它们是一项艰巨的任务。
您认为这些张量可以在class a()
中使用的作用域名称下使用吗
?我的最终目标是将这些值写入张量板。
答案 0 :(得分:-1)
我想从fun()函数返回的out1,drop_out,out2,out3,out4的值,但张量流给我错误。
如果要获取这些值,则需要return
。
但是tensorflow给了我错误。
如果我们不知道错误是什么,将无法为您提供帮助