Я просто хочу реализовать некоторые обучаемые параметры в моей модели с Keras. В Pytorch мы можем сделать это, используя torch.nn.Parameter (), как показано ниже:
self.a = nn.Parameter(torch.ones(8))
self.b = nn.Parameter(torch.zeros(16,8))
Я думаю, что, делая это в pytorch, он может добавить некоторые обучаемые параметры в модель. И теперь я хочу знать, как выполнять подобные операции в керасе? Любые предложения или советы приветствуются!
THX! :)
ps Я просто пишу пользовательский слой в Keras, как показано ниже:
class Mylayer(Layer):
def __init__(self,input_dim,output_dim,**kwargs):
self.input_dim = input_dim
self.output_dim = output_dim
super(Mylayer,self).__init__(**kwargs)
def build(self):
self.kernel = self.add_weight(name='pi',
shape=(self.input_dim,self.output_dim),
initializer='zeros',
trainable=True)
self.kernel_2 = self.add_weight(name='mean',
shape=(self.input_dim,self.output_dim),
initializer='ones',
trainable=True)
super(Mylayer,self).build()
def call(self,x):
return x,self.kernel,self.kernel_2
, и я хочу знать, не изменил ли я тензор, проходящий через слой, если янапишите функцию def compute_output_shape()
для нужного?