得到基本数据类型:
最基本的,type()是输出数据的类型,例如:
x = 5
print(type(x))
# 输出:<class 'int'>
y = "Hello"
print(type(y))
# 输出:<class 'str'>
得到属于什么class
当然,它可以输出已经load的model所属于哪个class
例如你此时通过下面的语句得到model:
model.load_state_dict(model_sd)
假如模型是这样的,你可以通过type(model)得到该model属于的class
ResNet(
(conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace=True)
(maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
(layer1): Sequential(
(0): BasicBlock(
(conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace=True)
(conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
type(model)输出:
<class 'torchvision.models.resnet.ResNet'>
此时你就可以知道它是属于哪个class了(ResNet)
你可以进一步通过__name__
得到该class的名字ResNet
type(model).__name__
结合使用type()
和__name__
当你想要获取一个对象实例的类名称时,你可以结合使用type()
和__name__
:
x = [1, 2, 3]
print(type(x))
print(type(x).__name__)
# 输出:<class 'list'>
# 输出:list