最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch 求網(wǎng)絡(luò)模型參數(shù)實(shí)例

 更新時(shí)間:2019年12月30日 10:25:02   作者:月亮是藍(lán)色  
今天小編就為大家分享一篇pytorch 求網(wǎng)絡(luò)模型參數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

用pytorch訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)時(shí),我們通常會(huì)很關(guān)心模型的參數(shù)總量。下面分別介紹來(lái)兩種方法求模型參數(shù)

一 .求得每一層的模型參數(shù),然后自然的可以計(jì)算出總的參數(shù)。

1.先初始化一個(gè)網(wǎng)絡(luò)模型model

比如我這里是 model=cliqueNet(里面是些初始化的參數(shù))

2.調(diào)用model的Parameters類(lèi)獲取參數(shù)列表

一個(gè)典型的操作就是將參數(shù)列表傳入優(yōu)化器里。如下

 optimizer = optim.Adam(model.parameters(), lr=opt.lr)

言歸正傳,繼續(xù)回到參數(shù)里面,參數(shù)在網(wǎng)絡(luò)里面就是variable,下面分別求每層的尺寸大小和個(gè)數(shù)。

函數(shù)get_number_of_param( ) 里面的參數(shù)就是剛才第一步初始化的model

def get_number_of_param(model):
  """get the number of param for every element"""
  count = 0
  for param in model.parameters():
    param_size = param.size()
    count_of_one_param = 1
    for dis in param_size:
      count_of_one_param *= dis
    print(param.size(), count_of_one_param)
    count += count_of_one_param
    print(count)
  print('total number of the model is %d'%count)

再來(lái)看看結(jié)果:

torch.Size([64, 1, 3, 3]) 576
576
torch.Size([64]) 64
640
torch.Size([6, 36, 64, 3, 3]) 124416
125056
torch.Size([30, 36, 36, 3, 3]) 349920
474976
torch.Size([12, 36]) 432
475408
torch.Size([6, 36, 216, 3, 3]) 419904
895312
torch.Size([30, 36, 36, 3, 3]) 349920
1245232
torch.Size([12, 36]) 432
1245664
torch.Size([6, 36, 216, 3, 3]) 419904
1665568
torch.Size([30, 36, 36, 3, 3]) 349920
2015488
torch.Size([12, 36]) 432
2015920
torch.Size([6, 36, 216, 3, 3]) 419904
2435824
torch.Size([30, 36, 36, 3, 3]) 349920
2785744
torch.Size([12, 36]) 432
2786176
torch.Size([216, 216, 1, 1]) 46656
2832832
torch.Size([216]) 216
2833048
torch.Size([108, 216]) 23328
2856376
torch.Size([108]) 108
2856484
torch.Size([216, 108]) 23328
2879812
torch.Size([216]) 216
2880028
torch.Size([216, 216, 1, 1]) 46656
2926684
torch.Size([216]) 216
2926900
torch.Size([108, 216]) 23328
2950228
torch.Size([108]) 108
2950336
torch.Size([216, 108]) 23328
2973664
torch.Size([216]) 216
2973880
torch.Size([216, 216, 1, 1]) 46656
3020536
torch.Size([216]) 216
3020752
torch.Size([108, 216]) 23328
3044080
torch.Size([108]) 108
3044188
torch.Size([216, 108]) 23328
3067516
torch.Size([216]) 216
3067732
torch.Size([140, 280, 1, 1]) 39200
3106932
torch.Size([140]) 140
3107072
torch.Size([216, 432, 1, 1]) 93312
3200384
torch.Size([216]) 216
3200600
torch.Size([216, 432, 1, 1]) 93312
3293912
torch.Size([216]) 216
3294128
torch.Size([9, 572, 3, 3]) 46332
3340460
torch.Size([9]) 9
3340469
total number of the model is 3340469

可以通過(guò)計(jì)算驗(yàn)證一下,發(fā)現(xiàn)參數(shù)與網(wǎng)絡(luò)是一致的。

二:一行代碼就可以搞定參數(shù)總個(gè)數(shù)問(wèn)題

2.1 先來(lái)看看torch.tensor.numel( )這個(gè)函數(shù)的功能就是求tensor中的元素個(gè)數(shù),在網(wǎng)絡(luò)里面每層參數(shù)就是多維數(shù)組組成的tensor。

實(shí)際上就是求多維數(shù)組的元素個(gè)數(shù)??创a。

print('cliqueNet parameters:', sum(param.numel() for param in model.parameters()))

當(dāng)然上面代碼中的model還是上面初始化的網(wǎng)絡(luò)模型。

看看兩種的計(jì)算結(jié)果

torch.Size([64, 1, 3, 3]) 576
576
torch.Size([64]) 64
640
torch.Size([6, 36, 64, 3, 3]) 124416
125056
torch.Size([30, 36, 36, 3, 3]) 349920
474976
torch.Size([12, 36]) 432
475408
torch.Size([6, 36, 216, 3, 3]) 419904
895312
torch.Size([30, 36, 36, 3, 3]) 349920
1245232
torch.Size([12, 36]) 432
1245664
torch.Size([6, 36, 216, 3, 3]) 419904
1665568
torch.Size([30, 36, 36, 3, 3]) 349920
2015488
torch.Size([12, 36]) 432
2015920
torch.Size([6, 36, 216, 3, 3]) 419904
2435824
torch.Size([30, 36, 36, 3, 3]) 349920
2785744
torch.Size([12, 36]) 432
2786176
torch.Size([216, 216, 1, 1]) 46656
2832832
torch.Size([216]) 216
2833048
torch.Size([108, 216]) 23328
2856376
torch.Size([108]) 108
2856484
torch.Size([216, 108]) 23328
2879812
torch.Size([216]) 216
2880028
torch.Size([216, 216, 1, 1]) 46656
2926684
torch.Size([216]) 216
2926900
torch.Size([108, 216]) 23328
2950228
torch.Size([108]) 108
2950336
torch.Size([216, 108]) 23328
2973664
torch.Size([216]) 216
2973880
torch.Size([216, 216, 1, 1]) 46656
3020536
torch.Size([216]) 216
3020752
torch.Size([108, 216]) 23328
3044080
torch.Size([108]) 108
3044188
torch.Size([216, 108]) 23328
3067516
torch.Size([216]) 216
3067732
torch.Size([140, 280, 1, 1]) 39200
3106932
torch.Size([140]) 140
3107072
torch.Size([216, 432, 1, 1]) 93312
3200384
torch.Size([216]) 216
3200600
torch.Size([216, 432, 1, 1]) 93312
3293912
torch.Size([216]) 216
3294128
torch.Size([9, 572, 3, 3]) 46332
3340460
torch.Size([9]) 9
3340469
total number of the model is 3340469
cliqueNet parameters: 3340469

可以看出兩種計(jì)算出來(lái)的是一模一樣的。

以上這篇pytorch 求網(wǎng)絡(luò)模型參數(shù)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的遞歸函數(shù)使用詳解

    Python中的遞歸函數(shù)使用詳解

    這篇文章主要介紹了Python中的遞歸函數(shù)使用詳解,遞歸函數(shù)是指某個(gè)函數(shù)調(diào)用自己或者調(diào)用其他函數(shù)后再次調(diào)用自己,由于不能無(wú)限嵌套調(diào)用,所以某個(gè)遞歸函數(shù)一定存在至少兩個(gè)分支,一個(gè)是退出嵌套,不再直接或者間接調(diào)用自己;另外一個(gè)則是繼續(xù)嵌套,需要的朋友可以參考下
    2023-12-12
  • python實(shí)現(xiàn)可以斷點(diǎn)續(xù)傳和并發(fā)的ftp程序

    python實(shí)現(xiàn)可以斷點(diǎn)續(xù)傳和并發(fā)的ftp程序

    斷點(diǎn)續(xù)傳和并發(fā)是現(xiàn)在很多ftp程序都支持的功能,如果我們用python如何來(lái)做斷點(diǎn)續(xù)傳和并發(fā)了,今天來(lái)看一篇python實(shí)現(xiàn)斷點(diǎn)續(xù)傳和并發(fā)的ftp程序例子吧,具體如下。
    2016-09-09
  • python中Event實(shí)現(xiàn)線(xiàn)程間同步介紹

    python中Event實(shí)現(xiàn)線(xiàn)程間同步介紹

    這篇文章主要介紹了python中Event實(shí)現(xiàn)線(xiàn)程間同步,Event是python線(xiàn)程間同步一種常用的方法,下列內(nèi)容總結(jié)需要的朋友可以參考一下
    2022-04-04
  • Python使用imageio庫(kù)處理圖像與視頻的操作詳解

    Python使用imageio庫(kù)處理圖像與視頻的操作詳解

    imageio 是一個(gè) Python 庫(kù),用于讀取和寫(xiě)入多種圖像和視頻格式,它功能強(qiáng)大、易于使用,廣泛應(yīng)用于圖像處理、視頻編輯和數(shù)據(jù)可視化等領(lǐng)域,本篇文章將介紹 imageio 的基礎(chǔ)功能、常見(jiàn)用法以及高級(jí)操作,需要的朋友可以參考下
    2024-12-12
  • 簡(jiǎn)單實(shí)例帶你了解Python的編譯和執(zhí)行全過(guò)程

    簡(jiǎn)單實(shí)例帶你了解Python的編譯和執(zhí)行全過(guò)程

    python 是一種解釋型的編程語(yǔ)言,所以不像編譯型語(yǔ)言那樣需要顯式的編譯過(guò)程。然而,在 Python 代碼執(zhí)行之前,它需要被解釋器轉(zhuǎn)換成字節(jié)碼,這個(gè)過(guò)程就是 Python 的編譯過(guò)程,還不知道的朋友快來(lái)看看吧
    2023-04-04
  • python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件

    python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件

    這篇文章主要為大家詳細(xì)介紹了python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 使用Python程序計(jì)算鋼琴88個(gè)鍵的音高

    使用Python程序計(jì)算鋼琴88個(gè)鍵的音高

    這篇文章介紹了使用Python程序計(jì)算鋼琴88個(gè)鍵的音高,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 在Linux系統(tǒng)上通過(guò)uWSGI配置Nginx+Python環(huán)境的教程

    在Linux系統(tǒng)上通過(guò)uWSGI配置Nginx+Python環(huán)境的教程

    這篇文章主要介紹了在Linux系統(tǒng)上通過(guò)uWSGI配置Nginx+Python環(huán)境的教程,示例中為Ubuntu系統(tǒng)并且默認(rèn)使用系統(tǒng)中自帶的Python解釋器,需要的朋友可以參考下
    2015-12-12
  • 使用opencv相關(guān)函數(shù)確定圖片中的直線(xiàn)問(wèn)題

    使用opencv相關(guān)函數(shù)確定圖片中的直線(xiàn)問(wèn)題

    這篇文章主要介紹了使用opencv相關(guān)函數(shù)確定圖片中的直線(xiàn)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python實(shí)現(xiàn)堆和索引堆的代碼示例

    python實(shí)現(xiàn)堆和索引堆的代碼示例

    本篇文章主要介紹了python實(shí)現(xiàn)堆和索引堆的代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論

新龙县| 南陵县| 济阳县| 大邑县| 高雄市| 应城市| 深圳市| 湄潭县| 嘉荫县| 濮阳县| 塔河县| 鄂托克旗| 三原县| 射阳县| 赣榆县| 肃宁县| 剑川县| 北流市| 澄迈县| 富阳市| 新密市| 永定县| 澳门| 中山市| 富民县| 普陀区| 卓尼县| 五指山市| 萝北县| 萨迦县| 灵石县| 三原县| 昌邑市| 望都县| 宜城市| 锡林郭勒盟| 泸州市| 都安| 德庆县| 辽宁省| 信阳市|