【发布时间】:2023-03-11 20:26:01
【问题描述】:
我只想用 Keras 在我的模型中实现一些可训练的参数。在 Pytorch 中,我们可以使用如下所示的 torch.nn.Parameter() 来实现:
self.a = nn.Parameter(torch.ones(8))
self.b = nn.Parameter(torch.zeros(16,8))
我认为通过在 pytorch 中执行此操作,可以将一些可训练的参数添加到模型中。现在我想知道,如何在keras中实现类似的操作? 欢迎任何建议或意见!
谢谢! :)
附言我只是在 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()吗?
【问题讨论】:
标签: keras parameters pytorch