亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對(duì)Pytorch神經(jīng)網(wǎng)絡(luò)初始化kaiming分布詳解

 更新時(shí)間:2019年08月18日 12:22:38   作者:winycg  
今天小編就為大家分享一篇對(duì)Pytorch神經(jīng)網(wǎng)絡(luò)初始化kaiming分布詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

函數(shù)的增益值

torch.nn.init.calculate_gain(nonlinearity, param=None)

提供了對(duì)非線(xiàn)性函數(shù)增益值的計(jì)算。

增益值gain是一個(gè)比例值,來(lái)調(diào)控輸入數(shù)量級(jí)和輸出數(shù)量級(jí)之間的關(guān)系。

fan_in和fan_out

pytorch計(jì)算fan_in和fan_out的源碼


def _calculate_fan_in_and_fan_out(tensor):
 dimensions = tensor.ndimension()
 if dimensions < 2:
  raise ValueError("Fan in and fan out can not be computed 
  for tensor with fewer than 2 dimensions")

 if dimensions == 2: # Linear
  fan_in = tensor.size(1)
  fan_out = tensor.size(0)
 else:
  num_input_fmaps = tensor.size(1)
  num_output_fmaps = tensor.size(0)
  receptive_field_size = 1
  if tensor.dim() > 2:
   receptive_field_size = tensor[0][0].numel()
  fan_in = num_input_fmaps * receptive_field_size
  fan_out = num_output_fmaps * receptive_field_size

 return fan_in, fan_out

xavier分布

xavier分布解析:https://prateekvjoshi.com/2016/03/29/understanding-xavier-initialization-in-deep-neural-networks/

假設(shè)使用的是sigmoid函數(shù)。當(dāng)權(quán)重值(值指的是絕對(duì)值)過(guò)小,輸入值每經(jīng)過(guò)網(wǎng)絡(luò)層,方差都會(huì)減少,每一層的加權(quán)和很小,在sigmoid函數(shù)0附件的區(qū)域相當(dāng)于線(xiàn)性函數(shù),失去了DNN的非線(xiàn)性性。

當(dāng)權(quán)重的值過(guò)大,輸入值經(jīng)過(guò)每一層后方差會(huì)迅速上升,每層的輸出值將會(huì)很大,此時(shí)每層的梯度將會(huì)趨近于0.

xavier初始化可以使得輸入值x x x<math><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math>x方差經(jīng)過(guò)網(wǎng)絡(luò)層后的輸出值y y y<math><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math>y方差不變。

(1)xavier的均勻分布

torch.nn.init.xavier_uniform_(tensor, gain=1)

也稱(chēng)為Glorot initialization。

>>> w = torch.empty(3, 5)
>>> nn.init.xavier_uniform_(w, gain=nn.init.calculate_gain('relu'))

(2) xavier正態(tài)分布

torch.nn.init.xavier_normal_(tensor, gain=1)

也稱(chēng)為Glorot initialization。

kaiming分布

Xavier在tanh中表現(xiàn)的很好,但在Relu激活函數(shù)中表現(xiàn)的很差,所何凱明提出了針對(duì)于relu的初始化方法。pytorch默認(rèn)使用kaiming正態(tài)分布初始化卷積層參數(shù)。

(1) kaiming均勻分布

torch.nn.init.kaiming_uniform_
 (tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')

也被稱(chēng)為 He initialization。

a – the negative slope of the rectifier used after this layer (0 for ReLU by default).激活函數(shù)的負(fù)斜率,

mode – either ‘fan_in' (default) or ‘fan_out'. Choosing fan_in preserves the magnitude of the variance of the weights in the forward pass. Choosing fan_out preserves the magnitudes in the backwards

pass.默認(rèn)為fan_in模式,fan_in可以保持前向傳播的權(quán)重方差的數(shù)量級(jí),fan_out可以保持反向傳播的權(quán)重方差的數(shù)量級(jí)。

>>> w = torch.empty(3, 5)
>>> nn.init.kaiming_uniform_(w, mode='fan_in', nonlinearity='relu')

(2) kaiming正態(tài)分布

torch.nn.init.kaiming_normal_
 (tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')

也被稱(chēng)為 He initialization。

 >>> w = torch.empty(3, 5)
>>> nn.init.kaiming_normal_(w, mode='fan_out', nonlinearity='relu')

以上這篇對(duì)Pytorch神經(jīng)網(wǎng)絡(luò)初始化kaiming分布詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用python實(shí)現(xiàn)爬取奧特曼圖片實(shí)例

    用python實(shí)現(xiàn)爬取奧特曼圖片實(shí)例

    大家好,本篇文章主要講的是用python實(shí)現(xiàn)爬取奧特曼圖片實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • Python實(shí)現(xiàn)自動(dòng)化郵件發(fā)送過(guò)程詳解

    Python實(shí)現(xiàn)自動(dòng)化郵件發(fā)送過(guò)程詳解

    這篇文章主要介紹了如何利用Python實(shí)現(xiàn)自動(dòng)化郵件發(fā)送,可以讓你擺脫繁瑣的重復(fù)性業(yè)務(wù),可以節(jié)省非常多的時(shí)間。感興趣的小伙伴可以試一試
    2022-01-01
  • Python單元測(cè)試入門(mén)到精通講解

    Python單元測(cè)試入門(mén)到精通講解

    單元測(cè)試是軟件開(kāi)發(fā)中不可或缺的一部分,有助于確保代碼的正確性、可維護(hù)性和可擴(kuò)展性,在Python中,有豐富的工具和庫(kù)可用于進(jìn)行單元測(cè)試,本文將為你提供一個(gè)全面的指南,從入門(mén)到精通,輕松掌握Python單元測(cè)試的方方面面
    2023-11-11
  • Python編程把二叉樹(shù)打印成多行代碼

    Python編程把二叉樹(shù)打印成多行代碼

    這篇文章主要介紹了Python編程把二叉樹(shù)打印成多行代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • python2.7實(shí)現(xiàn)郵件發(fā)送功能

    python2.7實(shí)現(xiàn)郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了python2.7實(shí)現(xiàn)郵件發(fā)送功能包,含文本、附件、正文圖片等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python的組合模式與責(zé)任鏈模式編程示例

    Python的組合模式與責(zé)任鏈模式編程示例

    這篇文章主要介紹了Python的組合模式與責(zé)任鏈模式編程示例,組合模式與責(zé)任鏈模式都屬于Python的設(shè)計(jì)模式,需要的朋友可以參考下
    2016-02-02
  • Python unittest生成測(cè)試報(bào)告過(guò)程解析

    Python unittest生成測(cè)試報(bào)告過(guò)程解析

    這篇文章主要介紹了Python unittest生成測(cè)試報(bào)告過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 將python程序打包成DLL的三種方式

    將python程序打包成DLL的三種方式

    這篇文章主要介紹了將python程序打包成DLL的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python(TensorFlow框架)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別系統(tǒng)的方法

    Python(TensorFlow框架)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別系統(tǒng)的方法

    這篇文章主要介紹了Python(TensorFlow框架)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別系統(tǒng)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python實(shí)現(xiàn)提取jira bug列表的方法示例

    python實(shí)現(xiàn)提取jira bug列表的方法示例

    公司要求內(nèi)部每日整理jira bug發(fā)郵件,手動(dòng)執(zhí)行了一段時(shí)間,想著用自動(dòng)化的方式實(shí)現(xiàn),所以本文主要介紹了python實(shí)現(xiàn)提取jira bug列表,感興趣的可以了解一下
    2021-05-05

最新評(píng)論