randn和rand的區(qū)別

我們在使用Numpy或Pytorch時有時候需要使用隨機數(shù)來初始化一個矩陣,randn和rand就屬于其中比較常見的兩個函數(shù)。二者的使用方法相似,在numpy中函數(shù)形式為:

numpy.random.randn(d0, d1, d2, ..., dn)
numpy.random.rand(d0, d1, d2, ..., dn)

在Pytorch中的函數(shù)形式為:

torch.randn(d0, d1, d2, ..., dn)
torch.rand(d0, d1, d2, ..., dn)

在一些教程中經(jīng)常會看到作者在寫代碼時混用它們二者,實際上它們還是有一些區(qū)別的。具體來講,randn是從標(biāo)準(zhǔn)正態(tài)分布中返回一個或多個樣本值。正態(tài)分布,也即這些隨機數(shù)的期望為0,方差為1;rand則會產(chǎn)生[0, 1)之間的隨機數(shù)。 關(guān)于記憶方法,我們可以把randn中的n看成是正態(tài)分布(Normal distribution)中“Normal”的縮寫。

Numpy - randn
Numpy - rand
Pytorch - randn
Pytorch - rand

多說一句,在Tensorflow中也有類似功能的函數(shù),根據(jù)其命名可以很容易推斷出其功能。用于產(chǎn)生正態(tài)分布的函數(shù)為:

tf.random_normal()

常用參數(shù)為 (shape,stddev,mean,dtype);

用于產(chǎn)生[0,1)之間隨機數(shù)的函數(shù)為:

tf.random_uniform()

默認(rèn)產(chǎn)生0,1之間的隨機數(shù),不過也可以通過maxval指定上界,通過minval指定下界。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Tensor的創(chuàng)建除了構(gòu)造器,還提供了工廠模式的創(chuàng)建方式:函數(shù),同時提供了基本運算函數(shù)的封裝。本主題就專門數(shù)理這些...
    楊強AT南京閱讀 2,277評論 0 1
  • 換工作之后,PYTHON就放下啦,基本沒接觸了,也都忘記的差不多了,現(xiàn)在重新?lián)炱饋?1.1 NumPy Array...
    wqh8384閱讀 607評論 0 1
  • 一、numpy概述 numpy(Numerical Python)提供了python對多維數(shù)組對象的支持:ndar...
    L_steven的貓閱讀 3,609評論 1 24
  • 2019年8月10日 星期六 陣雨? 親子日記(653)王婷爸爸原創(chuàng) 這個暑假,女兒挺忙的。她剛剛考完試,應(yīng)兄弟的...
    朋友是老酒閱讀 4,890評論 56 121
  • 文|咲夕顏 一整個下午都綿軟的雨 裹挾著薄靄天該有的倦意 人車雜沓 露水清涼 浪擲兩年四...
    咲夕顏閱讀 514評論 1 6

友情鏈接更多精彩內(nèi)容