我想提取ResNet101中的特征,但是,我在导入torchvision.models.feature_extraction时遇到问题。
这是我的代码:
from torchvision import models
from torchvision.models.feature_extractor import create_feature_extractor
res101 = models.resnet101(pretrained=True)
extractor = create_feature_extractor(
res101,
return_nodes=[
"conv1",
"maxpool",
"layer1",
"layer2",
"layer3",
"layer4",
]
)
features = extractor(inputs)
这是错误
from torchvision.models.feature_extractor import create_feature_extractor
Traceback (most recent call last):
Input In [11] in <cell line: 1>
from torchvision.models.feature_extractor import create_feature_extractor
ModuleNotFoundError: No module named 'torchvision.models.feature_extractor'
您可能会尝试使用以下内容:
from torchvision.models.feature_extraction import create_feature_extractor
参见
extraction
与 extractor
同样的问题。我使用
conda
安装了 PyTorch,它在 Jupyter 笔记本中运行良好。但它在终端中不起作用。
原来列出的
pip
torchvision
版本是 0.82
。
通过使用
torchvision
更新 pip
来解决。
也许有些软件包为我安装了旧版本。希望我的经验对你有帮助。
卸载 torch、torchvision 和 torchaudio。然后从以下链接安装预览版(每晚)的软件包https://pytorch.org/get-started/locally/
> pip uninstall torch torchvision torchaudio
> pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu117 --no-cache-dir
我知道我迟到了,但最近遇到了这个问题,想记录一下帮助我解决这个问题的方法。
我查看了我的
torchvision/models
文件夹,发现 feature_extraction.py
模块确实在那里,但没有提及。
所以我修改了
torchvision/models/__init__.py
以包含它。
这是一步一步:
获取火炬视觉路径:
pip show torchvision
并寻找位置。 (就我而言是/root/.cache/pypoetry/virtualenvs/app-YDPcP1OP-py3.9/lib/python3.9/site-packages
)
cd 进入 torchvision 路径内的模型:
cd /your-path/torchvision/models
编辑__ init__.py:
nano __init__.py
并添加以下行
from . feature_extraction import *
完成!
就像这样我可以使用 feature_extraction 模块
from torchvision.models.feature_extraction import get_graph_node_names
from torchvision.models.feature_extraction import create_feature_extractor