首页 > 解决方案 > 导入火炬 ModuleNotFoundError:没有名为“火炬”的模块

问题描述

帮助我了解一些事情,我是 python 和所有这些依赖库的新手。

我正在尝试运行一个用 python 编写的项目。Git 存储库可以在这里找到:https ://github.com/ifzhang/FairMOT

在 anaconda 提示符下,我一直在运行以下命令:

conda create -n FairMOT
conda activate FairMOT
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
cd ${FAIRMOT_ROOT}
pip install -r requirements.txt 

全部安装成功

我已执行自述文件中列出的所有步骤

现在有需要运行 shell 脚本的训练步骤。

假设在 anaconda 提示符下不会调用 shell 脚本,我切换到 git bash,然后运行脚本(记住路径)

 sh experiments/crowdhuman_dla34.sh

它抛出错误

Sanam@LAPTOP-NPVR76P7 MINGW64 /f/NTNU/Deep learning/Repositories/FairMOT (master)
$ sh experiments/crowdhuman_dla34.sh
Traceback (most recent call last):
File "train.py", line 10, in <module>
import torch
ModuleNotFoundError: No module named 'torch'

问题是:除了 git bash 之外,是否还有其他控制台需要运行此命令?它绝对不适用于 anaconda 提示符。我做错了什么?

回到 anaconda 提示符,当我在那里测试导入时,它起作用了

  (FairMOT) F:\NTNU\Deep learning\Repositories\FairMOT>python
  Python 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on 
  win32
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import torch
  >>>

我在哪里以及如何运行这个命令?这样它就可以工作了?在 git bash 上运行不好?

提前致谢!!

PS:我已经尝试过重新安装,激活/停用环境,但它不起作用

标签: pythonpytorch

解决方案


请。首先创建一个虚拟环境,然后在那里安装所有依赖项。在 anaconda 中使用相同的 venv 并在激活了 venv 的任何终端中运行 bash 脚本。

此外,您可以运行which python以确保您正在安装然后从同一个 python 解释器导入它


推荐阅读