如何解决PyTorch中的Nomodulenamedmodels

如何解决PyTorch中的No module named models,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联建站成立于2013年,是专业互联网技术服务公司,拥有项目成都网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元洱源做网站,已为上家服务,为洱源各地企业和个人服务,联系电话:13518219792

软硬件环境

  • ubuntu 18.04 64bit
  • anaconda with 3.7
  • nvidia gtx 1070Ti
  • cuda 10.1
  • pytorch 1.5
 

问题

在使用pytorch深度学习框架训练出来的模型文件,在另外的工程中使用,经常会碰到如下的错误

  File "/home/xugaoxiang/anaconda3/envs/torchTest/lib/python3.7/site-packages/torch/serialization.py", line 593, in load    return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)  File "/home/xugaoxiang/anaconda3/envs/torchTest/lib/python3.7/site-packages/torch/serialization.py", line 773, in _legacy_load    result = unpickler.load()ModuleNotFoundError: No module named 'models'
 
 

解决方法

其实这个问题,在pytorch的官方文档中就有提到,如下

如何解决PyTorch中的No module named models

上面这种方法呢是推荐的做法,在执行torch.savetorch.load时,操作的都是模型的参数,这样移植起来非常的方便

而下面的方法则是针对整个模型,在训练模型的时候,会将本地的class和目录结构都写入到模型中。很多开源项目在模型训练完成后也是采用这样的方法来保存,因此,当在你自己的项目中去使用这样的模型时,往往就会遇到上面出现的问题,解决的方法就是在你的项目中保持原有项目的必要结构,如相应的class和模块

如何解决PyTorch中的No module named models

看完上述内容,你们掌握如何解决PyTorch中的No module named models的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文题目:如何解决PyTorch中的Nomodulenamedmodels
文章分享:http://ybzwz.com/article/iehjec.html