У меня есть последовательная модель keras, и там у меня есть пользовательский слой, похожий на следующий пример с именем CounterLayer. Я использую тензор потока 2.0 (нетерпеливое выполнение)
class CounterLayer(tf.keras.layers.Layer):
def __init__(self, stateful=False,**kwargs):
self.stateful = stateful
super(CounterLayer, self).__init__(**kwargs)
def build(self, input_shape):
self.count = tf.keras.backend.variable(0, name="count")
super(CounterLayer, self).build(input_shape)
def call(self, input):
updates = []
updates.append((self.count, self.count+1))
self.add_update(updates)
tf.print('-------------')
tf.print(self.count)
return input
, когда я запускаю это, например, эпоха = 5 или что-то, значение self.count
не обновляется при каждом запуске. Это всегда остается прежним. Я получил этот пример от { ссылка } здесь. Мне нужно что-то похожее на это, но мне было интересно, работает ли эта работа в стремительном исполнении tenorflow или что мне нужно сделать, чтобы получить ожидаемый результат.
Я пытался реализовать это довольно давно, но не мог понять это. Может кто-нибудь помочь мне, пожалуйста. Спасибо ...