邪道方法-字典转字符串以传参字典给多GPU训练的mmseg

文章首发及后续更新:https://mwhls.top/4387.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

引言

  • 我想把字典传参给多GPU训练,但一直报错,各种类型的报错。
  • 于是我试着将字典转为字符串形式,在模型内部解析为字典,可行。
  • 我懒得把代码从服务器上搞过来了,所以这里只给截图,反正大家也用不到我的参数,思路用到的代码也不多。
  • 还有其它的解决方法,比如一个个传,不用字典形式,但是很丑,我不喜欢。
  • 也可以通过临时文件作为中转,传参就传个文件目录

解决方法

  • 对于下面给定的字典,我想把它作为参数,使用多GPU训练的方式传入。
    multiGPUParam1.pngmultiGPUParam1.png
  • 把它转为无空格与换行的字符串形式,并将" ( ) ,四个字符使用其他形式表示,我这里用拼音表示。
    注意字典开头结尾的",好像是传参时需要它?不过加上没错就是了。
    multiGPUParam2.pngmultiGPUParam2.png
  • 在传入后,将其通过 ast.literal_eval 转为字典形式,并将变为 strint, float 恢复,下图的最后四行就是恢复的代码。
    multiGPUParam3.pngmultiGPUParam3.png
  • 它转为字符串后的形式
    multiGPUParam4.pngmultiGPUParam4.png
  • 它在多 GPU 训练时的样子
    multiGPUParam5.pngmultiGPUParam5.png

猜你喜欢

转载自blog.csdn.net/asd123pwj/article/details/128356024