Pytorch中的 torch.distributions庫詳解
Pytorch torch.distributions庫
包介紹
torch.distributions包包含可參數(shù)化的概率分布和采樣函數(shù)。 這允許構(gòu)建用于優(yōu)化的隨機計算圖和隨機梯度估計器。
不可能通過隨機樣本直接反向傳播。 但是,有兩種主要方法可以創(chuàng)建可以反向傳播的代理函數(shù)。
這些是
評分函數(shù)估計量 score function estimato
似然比估計量 likelihood ratio estimator
REINFORCE
路徑導(dǎo)數(shù)估計量 pathwise derivative estimator
REINFORCE 通常被視為強化學習中策略梯度方法的基礎(chǔ),
路徑導(dǎo)數(shù)估計器常見于變分自編碼器的重新參數(shù)化技巧中。
雖然評分函數(shù)只需要樣本 f(x)的值,但路徑導(dǎo)數(shù)需要導(dǎo)數(shù) f'(x)。
本文重點講解Pytorch中的 torch.distributions庫。
pytorch 的 torch.distributions 中可以定義正態(tài)分布:
import torch from torch.distributions import Normal mean=torch.Tensor([0,2]) normal=Normal(mean,1)
sample()
就是直接在定義的正太分布(均值為mean,標準差std是1)上采樣:
result = normal.sample() print("sample():",result)
輸出:
sample(): tensor([-1.3362, 3.1730])
rsample()
不是在定義的正太分布上采樣,而是先對標準正太分布 N(0,1) 進行采樣,然后輸出: mean + std × 采樣值
result = normal.rsample() print("rsample():",result)
輸出:
rsample: tensor([ 0.0530, 2.8396])
log_prob(value)
是計算value在定義的正態(tài)分布(mean,1)中對應(yīng)的概率的對數(shù),正太分布概率密度函數(shù)是:
對其取對數(shù)可得:
這里我們通過對數(shù)概率還原其對應(yīng)的真實概率:
print("result log_prob:",normal.log_prob(result).exp())
輸出:
result log_prob: tensor([ 0.1634, 0.2005])
到此這篇關(guān)于Pytorch中的 torch.distributions庫的文章就介紹到這了,更多相關(guān)Pytorch torch.distributions庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python調(diào)用百度AI實現(xiàn)顏值評分功能
這篇文章主要介紹了應(yīng)用百度AI的人臉識別功能對年齡、性別、顏值等進行識別,代碼具有一定的學習價值,感興趣的朋友跟隨小編一起看看吧2021-11-11Opencv-Python圖像透視變換cv2.warpPerspective的示例
今天小編就為大家分享一篇關(guān)于Opencv-Python圖像透視變換cv2.warpPerspective的示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04python基于tkinter點擊按鈕實現(xiàn)圖片的切換
這篇文章主要介紹了python基于tkinter點擊按鈕實現(xiàn)圖片的切換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04python圖片指定區(qū)域替換img.paste函數(shù)的使用
這篇文章主要介紹了python圖片指定區(qū)域替換img.paste函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04