Насколько я понимаю, вы должны просто иметь возможность инициализировать ячейку в init () уровня класса, а затем внутри метода вызова ссылаться на нее со своим вводом.
Пример:
class MySimpleLayer(Layer):
def __init__(self, lstm_size):
super(MySimpleLayer, self).__init__()
self.lstm = tf.contrib.rnn.BasicLSTMCell(lstm_size)
def call(self, batch, state):
return self.lstm(batch, state)
layer = MySimpleLayer(lstm_size)
logits = layer(batch, state)
Эта реализация настолько же проста, насколько это возможно, поэтому вам может понадобиться изучить методы build () и compute_output_shape () для более сложных случаев использования.