Pytorch 통계 모델 매개 변수의 조작 param.numel()
param 에서 요소 의 수 를 되 돌려 줍 니 다.
통계 모델 매개 변수 량
num_params = sum(param.numel() for param in net.parameters())
print(num_params)
추가:Pytorch 모델 매개 변수 보기Pytorch 모델 매개 변수 보기
Pytorch 를 이용 하여 모델 을 만 드 는 인 자 를 보고 프로그램 을 직접 봅 니 다.
import torch
# torch.nn
import torch.nn as nn
import torch.nn.functional as F
class Net(nn.Module):
def __init__(self):
# nn.Module
super(Net, self).__init__()
# '1' , '6' ,'3' 3*3
self.conv1 = nn.Conv2d(1, 6, 3)
# , 1350 , 10
self.fc1 = nn.Linear(1350, 10) # 1350 ? forward
#
def forward(self, x):
print(x.size()) # :[1, 1, 32, 32]
# -> ->
x = self.conv1(x) # , 30, 。
x = F.relu(x)
print(x.size()) # :[1, 6, 30, 30]
x = F.max_pool2d(x, (2, 2)) # , 15
x = F.relu(x)
print(x.size()) # :[1, 6, 15, 15]
# reshape,‘-1'
# [1, 6, 15, 15] , [1, 1350]
x = x.view(x.size()[0], -1)
print(x.size()) # fc1 1350
x = self.fc1(x)
return x
net = Net()
for parameters in net.parameters():
print(parameters)
출력:Parameter containing:
tensor([[[[-0.0104, -0.0555, 0.1417],
[-0.3281, -0.0367, 0.0208],
[-0.0894, -0.0511, -0.1253]]],
[[[-0.1724, 0.2141, -0.0895],
[ 0.0116, 0.1661, -0.1853],
[-0.1190, 0.1292, -0.2451]]],
[[[ 0.1827, 0.0117, 0.2880],
[ 0.2412, -0.1699, 0.0620],
[ 0.2853, -0.2794, -0.3050]]],
[[[ 0.1930, 0.2687, -0.0728],
[-0.2812, 0.0301, -0.1130],
[-0.2251, -0.3170, 0.0148]]],
[[[-0.2770, 0.2928, -0.0875],
[ 0.0489, -0.2463, -0.1605],
[ 0.1659, -0.1523, 0.1819]]],
[[[ 0.1068, 0.2441, 0.3160],
[ 0.2945, 0.0897, 0.2978],
[ 0.0419, -0.0739, -0.2609]]]])
Parameter containing:
tensor([ 0.0782, 0.2679, -0.2516, -0.2716, -0.0084, 0.1401])
Parameter containing:
tensor([[ 1.8612e-02, 6.5482e-03, 1.6488e-02, ..., -1.3283e-02,
1.8715e-02, 5.4037e-03],
[ 1.8569e-03, 1.8022e-02, -2.3465e-02, ..., 1.6527e-03,
2.0443e-02, -2.2009e-02],
[ 9.9104e-03, 6.6134e-03, -2.7171e-02, ..., -5.7119e-03,
2.4532e-02, 2.2284e-02],
...,
[ 6.9182e-03, 1.7279e-02, -1.7783e-03, ..., 1.9354e-02,
2.1105e-03, 8.6245e-03],
[ 1.6877e-02, -1.2414e-02, 2.2409e-02, ..., -2.0604e-02,
1.3253e-02, -3.6008e-03],
[-2.1598e-02, 2.5892e-02, 1.9372e-02, ..., 1.4159e-02,
7.0983e-03, -2.3713e-02]])
Parameter containing:
tensor(1.00000e-02 *
[ 1.4703, 1.0289, 2.5069, -2.2603, -1.5218, -1.7019, 1.2569,
0.4617, -2.3082, -0.6282])
for name,parameters in net.named_parameters():
print(name,':',parameters.size())
출력:conv1.weight : torch.Size([6, 1, 3, 3])
conv1.bias : torch.Size([6])
fc1.weight : torch.Size([10, 1350])
fc1.bias : torch.Size([10])
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pytorch에서 shuffle을 사용하여 데이터를 흐트러뜨리는 작업우선 내가 너에게 한 가지 알려줘야 할 것은 바로pytorch의tensor이다. 만약에random을 직접 사용한다면.shuffle는 데이터를 흐트러뜨리거나 아래의 방식을 사용하여 직접 쓰기를 정의합니다. 그러면 혼란...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.