Я записал следующую модель в отдельный файл:
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()
, но тензор потока выдает мне ошибки.
Я прочитал несколько постов, чтобы получить любой тензор, используя tf.get_variable()
.Но я не знаю, как получить эти выходные данные слоя, поскольку я не назвал их, и поиск их в пространстве глобальных переменных является большой задачей.
Как вы думаете, эти тензоры будут доступны под именем области, которое я использую в class a()
?Моя последняя цель - записать эти значения на тензорную доску.