解决mindspore中缺失register_buffer的API的问题

mindspore里没有self.register_buffer()的API。

然后我在华为开发者论坛上搜了一下,发现有人提过这个问题,给出的解决办法是“MindSpore现在都是Parameter,通过优化器可以控制不训练”。

我其实不是很清楚这句话的意思。

是进行像下面的代码所示的修改吗,把requires_grad设置为False?

#pytorch
self.register_buffer('A', A)

#mindspore
self.A = Parameter(A, name="A", requires_grad=False)

**************************************************************************************************************

解答:

搜了一下pytorch里的register_buffer,它的一个主要功能相当于固定部分参数: 

(https://www.jianshu.com/p/12a8207149b0) 

华为论坛上的说法应该就是指mindspore可以不通过这个函数完成同样的功能。 

我在官方给的教程中看到: 

(https://www.mindspore.cn/tutorials/zh-CN/master/advanced/modules/optim.html) 

因此结论和你猜想的应该差不多,但是要记得在优化器里调用网络的trainable_params()

ps: 图片有点模糊,但是超过100k无法上传,可以去官网看。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值