Python 3.x 无法从torchvision.models.resnet导入“BasicBlock”

Python 3.x 无法从torchvision.models.resnet导入“BasicBlock”,python-3.x,machine-learning,pytorch,Python 3.x,Machine Learning,Pytorch,我正试图通过以下操作从torchvision.models.resnet导入类BasicBlock from torchvision.models.resnet import * 它没有给出任何错误,但是当我试图在我的代码中使用BasicBlock类时,我得到的错误是 NameError:未定义名称“BasicBlock” 即使torchvision.models.resnet中存在BasicBlock 但当我这样导入时,它不会出错 从torchvision.models.resnet导入基本

我正试图通过以下操作从torchvision.models.resnet导入类BasicBlock

from torchvision.models.resnet import *
它没有给出任何错误,但是当我试图在我的代码中使用BasicBlock类时,我得到的错误是

NameError:未定义名称“BasicBlock”

即使torchvision.models.resnet中存在BasicBlock

但当我这样导入时,它不会出错

从torchvision.models.resnet导入基本块

然后在我的代码中使用它

为什么会出现此错误?

确实定义了BasicBlock,但它不是由模块导出的:请参阅“全部”的定义。因此torchvision/models/resnet.py仅导出以下内容:resnet、resnet18、resnet34、resnet50、resnet101、resnet152、resnext50_32x4d、resnext101_32x8d、wide_resnet50_2和wide_resnet101_2。

基本块确实已定义,但模块未导出它:请参阅u_uall_uuuu的定义。因此torchvision/models/resnet.py仅导出以下内容:resnet、resnet18、resnet34、resnet50、resnet101、resnet152、resnext50_32x4d、resnext101_32x8d、宽resnet50_2、,和wide_resnet101_2。

基本块是在torchvision.models下导入的,但是不建议执行导入*并导入所有内容,但如果您希望执行此操作,则使用torchvision.models import*将不会出现错误

导入*导入uuu all_uuuu变量下的所有内容,并且resnet中的此变量具有['resnet','resnet18','resnet34','resnet50','resnet101','resnet152','resnext50_32x4d','resnext101_32x8d','wide_resnet50_2','wide_resnet101_2']这就是它抛出错误名称的原因BasicBlock的错误在torchvision.models下导入BasicBlock


导入*导入uuu all_uuuu变量下的所有内容,并且resnet中的此变量具有['resnet','resnet18','resnet34','resnet50','resnet101','resnet152','resnext50_32x4d','resnext101_32x8d','wide_resnet50_2','wide_resnet101_2']这就是为什么它会为BasicBlock抛出错误NameError

,但即使函数conv1x1和conv3x3不在全部中,我也不会收到错误,即使我没有单独导入它们。你确定吗?我无法用conv1x1和conv3x3复制此问题,它们都会像BasicBlock一样引发错误。我是说,即使我不导入这些函数,我也不会收到错误。所以您从torchvision.models.resnet import*中执行了此操作,并且能够使用conv1x1和conv3x3`?我没有直接使用这些函数,但是这些函数在BasicBlock和ResNetBut中使用,即使函数conv1x1和conv3x3不在“所有”中,我也不会收到错误,即使我不单独导入它们。你确定吗?我无法用conv1x1和conv3x3复制此问题,它们都会像BasicBlock一样引发错误。我是说,即使我不导入这些函数,我也不会收到错误。所以您从torchvision.models.resnet import*中执行了此操作,并且能够使用conv1x1和conv3x3`?我没有直接使用这些函数,但是这些函数在BasicBlock和ResNet中使用