以下是我 編寫的 計算 困惑度 ppl的 **
根據困惑度的定義:(其定義是其他形式的定義非書本上的定義,實驗常用的就是這種形式)
**解釋: ppl
=ecr
oss_
entr
op
yppl=e^
ppl=ec
ross
_ent
ropy
其中c ro
ss_e
ntro
py
cross\_entropy
cross_
entr
opy 就是交叉熵損失 因此只需要對 交叉熵損失求exp()
注意:f.cross_entropy的引數 reduction必須要為 mean 即預設 就為 mean
from torch import tensor
import numpy as np
import torch.nn.functional as f
defperplexity
(outputs: tensor, targets: tensor, config=
none):
""" 計算語言模型困惑度
:param outputs: [batch_size,seq_len,vocab_size]
:param targets: [batch_size,seq_len]
:param config: 配置檔案 default:none
:return: 困惑度數值
"""ce = f.cross_entropy(outputs.view(-1
, outputs.size(-1
)), targets.view(-1
),ignore_index=config.data.pad_id if config is
notnone
else
none
)return torch.exp(ce)
pytorch 深度學習
pytorch深度學習實踐 訓練集 開發集 模型評估 測試集。f x wx b f x wx b f x w x bloss 乙個樣本 cost mean square error training set 區域性最優,不一定全域性最優。鞍點 梯度為0,但無法繼續迭代。w w c ost ww w ...
深度學習 安裝pytorch
1 官網 2 cmd中執行 注意 直接複製run this command 裡面的安裝 注意 把pip3的3刪除 第一步 pip install i 第二步 pip install torchvision 注意 第一步和第二步可以合併為pip install i torchvision 3 安裝技巧...
PyTorch 深度學習 筆記
方差 偏差 線性回歸來確定兩種或兩種以上變數間相互依賴的定量關係。線性回歸對於輸入x和輸出y有乙個對映 類似ax b 而我們是訓練a b這兩個引數。以下 使用pytorch建立乙個線性的模型來對其進行擬合,即訓練過程。def linear ex x np.random.rand 256 noise ...