Я внедряю сеть rnn-autoencoder в TensorFlow 1.14.0. (используя этот код: здесь )
class MyLSTMCell(tf.nn.rnn_cell.BasicLSTMCell):
def __init__(self, attributes):
super(tf.nn.rnn_cell.BasicLSTMCell, self).__init__(_reuse=reuse)
# initialize attributes
...
self.customAttr = 0
def call(self, inputs, state):
...
self.customAttr = 1
...
return output, state
@property
def get_value(self):
return self.customAttr
def Model(...):
...
with tf.variable_scope('encoder'):
enc_cell = MyLSTMCell(num_hidden,...)
output, state = tf.nn.dynamic_rnn(enc_cell, p_input, dtype=tf.float32)
value = enc_cell.get_value
output: value = 0
, когда я пытаюсь получить значение этой переменной во время обучения, я получаю инициализированное значение 0. Как я могу получить доступ к реальному значению этот атрибут (в данном примере это 1) во время обучения сети? Кроме того, есть ли способ изменить его значение во время тренировки вне функции?