Как использовать динамические переменные в пользовательских слоях TF - PullRequest
0 голосов
/ 04 ноября 2019

Как использовать некоторую динамическую переменную в вычислении пользовательского слоя Keras

Я пытаюсь выполнить некоторые манипуляции в пользовательском слое Keras на основе объекта списка, который заполняется в обратном вызове on_epoch_end, но проблема заключается в том, что когда пользовательскийслой инициализируется, он создает экземпляр этого объекта «список», и все изменения, которые происходят при обратном вызове «список», не распространяются на создание экземпляра списка пользовательских слоев.

class MyLayer(Layer):
    def __init__(self, num, **kwargs):
        super(MyLayer, self).__init__(**kwargs)
        self.num = num
    def build(self, input_shape):
        super(MyLayer, self).build(input_shape) 

    def call(self, x):
        return dostuff(x,self.num,self

.getlis())

def compute_output_shape(self, input_shape):
    return input_shape

def getlis(n):
    return stat.lis

class stat: lis = []

Я хочу изменить этот объект lis в функции обратного вызова и иметь эффект в прямом проходе

в настоящее время, яя не вижу эффекта обновленного объекта списка в моих вычислениях пользовательского слоя, я подозреваю, что при инициализации слоя все его переменные инициализируются статически

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...