ImportError: cannot import name '_new_empty_tensor' from 'torchvision.ops''
时间: 2023-08-20 22:05:22 浏览: 549
这个问题通常是由于 PyTorch 和 TorchVision 版本不兼容导致的。你可以尝试更新 TorchVision 到最新版本,或者降级 PyTorch 和 TorchVision 的版本。具体来说,你可以查看你的 PyTorch 版本所对应的 TorchVision 版本,然后安装对应版本的 TorchVision。例如,如果你的 PyTorch 版本是 1.7.1,则可以使用以下命令安装对应版本的 TorchVision:
```
pip install torchvision==0.8.2+cu101 -f https://download.pytorch.org/whl/torch_stable.html
```
这里使用的是 CUDA 10.1 版本的 TorchVision,如果你使用的是其他版本的 CUDA,可以根据情况进行修改。
相关问题
ImportError: cannot import name _new_empty_tensor from torchvision.ops (/home/wit/anaconda3/envs/sr/lib/python3.9/site-packages/torchvision/ops/__init__.py)
根据引用\[1\]和引用\[2\]的报错信息,出现了无法从torchvision.ops中导入_new_empty_tensor和_NewEmptyTensorOp的错误。这可能是因为在torchvision的ops模块中找不到这些名称。根据引用\[3\]中的注释,官方版本已经更新了,为了解决pytorch和torchvision 0.5中的空张量错误,需要导入_new_empty_tensor和_output_size。因此,您可能需要检查您的torchvision和pytorch版本是否符合要求。如果您的版本低于0.7,您可以尝试更新torchvision和pytorch到最新版本,或者按照引用\[3\]中的代码进行导入。如果您的版本已经是0.7或更高,那么可能存在其他问题,您可以尝试重新安装torchvision或查看其他可能的解决方案。
#### 引用[.reference_title]
- *1* [Python问题: cannot import name ‘_new_empty_tensor‘ from ‘torchvision.ops](https://blog.csdn.net/a1228136188/article/details/118891791)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [解决cannot import name ‘_NewEmptyTensorOp‘ from ‘torchvision.ops.misc](https://blog.csdn.net/y96q1023/article/details/78498894)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
importerror: cannot import name '_new_empty_tensor' from 'torchvision.ops'
### 回答1:
这个错误是由于在导入torchvision.ops模块时,无法找到名为'_new_empty_tensor'的函数或类。可能是因为你的torchvision版本太低,或者你需要更新torchvision。你可以尝试升级torchvision或者检查你的代码中是否有拼写错误或其他语法错误。
### 回答2:
首先,这个错误的原因可能是由于在导入torchvision.ops时出现了问题。更具体地说,它可能是因为在该包中找不到名为“_new_empty_tensor”的特定函数而导致的。
为了解决这个问题,我们可以尝试以下几个步骤:
1. 确认使用的torchvision版本是否正确。如果安装的版本不包含“_new_empty_tensor”函数,则会遇到此错误。我们可以尝试升级到较新的版本或回滚到较早的版本以查看是否可以解决此问题。
2. 确认该函数是否存在于torchvision.ops中。如果不存在,则说明该函数可能已被删除或移动到其他位置。我们可以检查其他版本的torchvision库或查看文档以查明该函数是何时引入的以及在哪个模块中。
3. 尝试重新安装torchvision模块。如果存在其他损坏或不完整的文件,则可能会导致此错误。重新安装可能会清除这些问题并解决该问题。
总之,这个错误可能有多种原因,需要我们进行详细的检查和排查以找到正确的解决方法。
### 回答3:
这个错误是由于在导入torchvision.ops的时候,无法加载名为_new_empty_tensor的模块导致的。这可能是因为你正在使用的torchvision版本与你的代码不兼容。
通常,建议使用与你正在使用的PyTorch版本相对应的torchvision版本来避免这种情况。你可以使用以下命令检查torchvision的版本:
```
pip show torchvision
```
如果你在升级PyTorch之后使用了以前安装的torchvision版本,则可能需要升级到最新版本。你可以使用以下命令升级torchvision:
```
pip install --upgrade torchvision
```
如果你使用的是Deep Learning平台,例如Google Colab或Kaggle,你可以尝试重新启动笔记本并重新安装PyTorch和torchvision。你也可以尝试切换到另一个Deep Learning平台,比如Catalyst,来看是否可以解决导入问题。
另外,你可以检查你的代码中是否存在语法错误,例如拼写错误或引用错误的模块。在某些情况下,这些错误可能会排除所需的模块。
最后,你也可以尝试检查你的环境变量,如PYTHONPATH或PATH,是否正确设置。这些变量有时可能会影响模块加载和导入。
总之,这个错误的解决方法并不困难,只需要了解PyTorch和torchvision的基本知识,以及学会如何排除简单的语法错误和环境变量问题。
阅读全文