'''
Author: xudawu
Date: 2024-06-20 11:09:07
LastEditors: xudawu
LastEditTime: 2024-07-10 14:14:23
'''
import torch

import torchvision
# 实例化一个模型
out_features=10
VisionNN_model=torchvision.models.resnet34(weights=None,num_classes=out_features)

# 计算可学习参数的总数
# 初始化参数计数器
total_params = 0
trainable_params = 0

# 使用for循环遍历模型的参数
for param in VisionNN_model.parameters():
    total_params += param.numel()
    # 如果参数需要梯度,则计入可训练参数
    if param.requires_grad:
        trainable_params += param.numel()

print('Total number of parameters:',total_params)
print('Total number of trainable parameters:',trainable_params)

# 查看每个层的具体参数数量
# for name, param in VisionNN_model.named_parameters():
#     if param.requires_grad:
#         print(name, param.numel())

# 查看模型的第一个卷积层(conv1)的权重和偏置
conv1_weight = VisionNN_model.conv1.weight
conv1_bias = VisionNN_model.conv1.bias

# 查看具体的参数数值:
# print('Conv1 Weights:\n', conv1_weight)
# print('Conv1 Bias:\n', conv1_bias)

运行结果

'''
Total number of parameters: 21289802
Total number of trainable parameters: 21289802
'''
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐