網路學習中參數量具體如何計算

2021-10-11 03:17:50 字數 1487 閱讀 1715

from network import net as net

model = net(num_channels=1, scale_factor=4, d=32, s=5, m=1)

print(model)

#model = torch.load(pretrained_model, map_location = torch.device('cpu'))

model.load_state_dict(torch.load(pretrained_model, map_location = torch.device(

'cpu')))

#print(model)

pretrained_state_dict = model.state_dict(

) pretrained_state_dict_keys = list(pretrained_state_dict.keys(

))#print(pretrained_state_dict_keys)

for k in range(len(pretrained_state_dict_keys)):

print(pretrained_state_dict[pretrained_state_dict_keys[k]

].shape)

###列印出 這裡面這些key的 shape

卷積層 除了w 還有 bias

之後還有prelu layer 有乙個引數;

上述求和 最後是 4016

1 * 32 * 5 * 5 = 800

32(bias)–其實輸出通道32 可以看做是 32個 155的filter所以有32個bias

1(prelu)

32 * 5 * 1 * 1 = 160

5(bias)

1(prelu)

5533 = 225

5(bias)

1(prelu)

53211 = 160

32(bias)

prelu(1)

3219*9 = 2592

1(bias)反卷積層也有bias的

800+32+1+160+5+1+225+5+1+160+32+1+2592+1 = 4016

當然在pytorch中可以直接計算模型的引數數量的

def print_network(net):

num_params = 0

for param in net.parameters(

): num_params += param.numel(

) print(net)

print(

'total number of parameters: %d' % num_params)

這個出來的結果就是401

虛擬桌面專案伺服器數量,具體是怎麼計算的

桌面雲需要的伺服器數量與虛擬機器負載密切相關。在使用者數比較少的情況下,管理節點可以與其他使用者虛機合用物理伺服器。使用者數較多時,管理節點與使用者虛機分開部署,可獨佔兩台伺服器。一般每個資源池至少配置一台冗餘伺服器。計算公式如下 伺服器數量 使用者數 虛擬機器密度 管理伺服器數量 冗餘伺服器數量 ...

學習筆記 神經網路的計算量和參數量估計

模型最終的的速度,不僅僅是和計算量多少有關係,還和諸如記憶體頻寬 優化程度 cpu流水線 cache之類的因素也有很大關係。對於輸入為i ii,輸出為j jj的全連線層,其權重w ww儲存在i j i times j i j的矩陣中。啟用函式沒有引數,所以參數量為0。lstm包含4個非線性變換,每一...

卷積神經網路參數量和計算量記憶體計算

每一次卷積的參數量和特徵圖的大小無關,僅和卷積核的大小,偏置及bn有關。1.每個卷積層的參數量,1表示偏置 co x kw x kh x cin 1 2.全連線層的參數量 d1 1 x d2 3.bn層的參數量 因為bn層需要學習兩個引數 gamma 和 beta 所以參數量是2xco 1.一次卷積...