深度學習 pytorch 困惑度計算方法

2021-10-17 03:32:56 字數 1020 閱讀 7144

以下是我 編寫的 計算 困惑度 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 ...