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

近日,发现很多代码都是基于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,果然顺利成功!


报错信息"No module named 'torch.multiprocessing'"表示找不到名为'torch.multiprocessing'的模块。根据引用的内容,torch.multiprocessing是基于python的原生multiprocessing进行二次开发的模块。这意味着在使用torch.multiprocessing时,首先需要确保安装了torch模块。根据引用的内容,可以看到在引入torch模块时出现了ModuleNotFoundError,可能是由于没有正确安装torch模块导致的。为了解决这个问题,你可以按照以下步骤进行操作: 1. 确认你已经安装了正确版本的torch模块。你可以通过运行"import torch"来检查是否成功导入了torch模块。如果没有成功导入,你需要根据你的操作系统和Python版本安装对应的torch模块。 2. 如果你已经安装了torch模块,但是仍然遇到了"No module named 'torch.multiprocessing'"的错误,你可以尝试重新安装torch模块。你可以使用pip命令来安装最新版本的torch模块,例如"pip install torch"。 3. 如果重新安装torch模块仍然不能解决问题,你可以考虑按照引用中的说明从GitHub上克隆最新版本的pytorch,并按照相应的要求安装依赖。 总结起来,要解决"No module named 'torch.multiprocessing'"错误,你需要确保正确安装了torch模块,并根据需要更新或重新安装该模块。如果问题仍然存在,你可以尝试从GitHub上获取最新版本的pytorch安装依赖。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pytorch各种报错个人笔记](https://blog.csdn.net/weixin_42815846/article/details/125611520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ubuntu环境Pytorch安装No module named 'torch._C'问题解决](https://blog.csdn.net/sparkexpert/article/details/77675581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值