热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

mindspore里没有self.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无法上传,可以去官网看。


推荐阅读
author-avatar
Amandadahl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有