前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ubuntu环境下Pytorch安装及No module named 'torch._C'问题解决

ubuntu环境下Pytorch安装及No module named 'torch._C'问题解决

作者头像
sparkexpert
发布2018-01-09 11:33:59
18.1K0
发布2018-01-09 11:33:59
举报

近日,发现很多代码都是基于Pytorch来写的,为了进行测试和学习,于是进行了安装。

安装过程算是比较简单,直接从官网上下载源码,https://github.com/pytorch,然后选择从源码来进行安装。(说是可以直接从WHL文件来安装,只不过没有找到。)

安装过程的步骤:

git clone https://github.com/pytorch/pytorch pip install -r requirements.txt(实质上这一步只需要安装pyyaml)。 sudo python setup.py install

这样就可以实现顺利安装。安装后的截图如下:

不过,为了测试torch的python版本是否可用的时候,直接上来就报了个错。

Python 3.6.0 (default, Jan 16 2017, 12:12:55) 
[GCC 6.3.1 20170109] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/torch/__init__.py", line 45, in <module>
    from torch._C import *
ModuleNotFoundError: No module named 'torch._C'
官网上对此有一些说明:https://github.com/pytorch/pytorch/issues/574,即下面的这段话。
Yeah, so you can see that there's _C.cpython-35m which means it will be loaded only by Python 3.5. As a quick hack you could try renaming
 _C, _dl, and _thnn/_THNN to regular .so files (without that cpython-version-artch-platform part, just _C.so). But it's a hack, we don't provide further support if it fails

根据上面的这段话,也进行了ls -ll 查看:

omnisky@omnisky:/usr/local/lib/python3.6/site-packages/torch$ ls autograd                             lib               storage.py backends                             multiprocessing   _tensor_docs.py _C.cpython-36m-x86_64-linux-gnu.so   nn                tensor.py cuda                                 optim             _tensor_str.py distributed                          __pycache__       _thnn _dl.cpython-36m-x86_64-linux-gnu.so  serialization.py  _torch_docs.py functional.py                        _six.py           utils __init__.py                          sparse            _utils.py legacy                               _storage_docs.py  version.py

发现_C, _dl两个so文件的文件名都太长了,需要进行修改。

采用cp 的方式复制两个文件:

omnisky@omnisky:/usr/local/lib/python3.6/site-packages/torch$ sudo cp _C.cpython-36m-x86_64-linux-gnu.so _C.so omnisky@omnisky:/usr/local/lib/python3.6/site-packages/torch$ sudo cp _dl.cpython-36m-x86_64-linux-gnu.so _dl.so

然后,再重新import,果然顺利成功!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档