本文主要是介绍paddle 动态图命名重复问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引言
具体场景是这样的,我用ai studio提供的notebook跑动态图代码,第一遍正常,第二遍的时候就报参数名称已存在,虽然我也知道这是notebook存储之前的参数变量引起的,只需要重启再运行就可以了。但是重启代价太高了,尤其是前面已经写了很多代码,而我只是想测试这一个cell块中的代码的时候。
正文
我看很多帖子遇到相似的问题,但是都没有得到很好的解决。
报错的格式类似于:
ValueError: parameter name [weight] have be been used. In dygraph mode, the name of parameter can't be same.Please check the parameter attr value passed to self.create_parameter or constructor of dygraph Layers
还有在k这交叉验证的时候出现的问题:
有个问题,如果我要实现k折交叉验证,也就是说对于一个选定的backbone,针对每折数据都要生成一个版本的模型,这样就会报错。
总而言之,目前已有的解决方法有:
- 重启内核;
- 通过bash脚本循环跑;
这两种方式都太麻烦了,有没有简单的呢?
有的,很简单!
以下代码:只需要在每次循环遍历代码(模型)的时候,将这两行代码放到开头/结尾都行,就完美的解决了层名称重复的问题。<
这篇关于paddle 动态图命名重复问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!