PyTorch
のアクセラレータをGPU
に設定して、関数(fit
)を最適化しようとしています。これは私がfit
の評価をしているストレートPython
コード、されていますPyTorch損失関数の評価
import numpy as np
...
for j in range(P):
e[:,j] = z - h[:,j];
fit[j] = 1/(sqrt(2*pi)*sigma*N)*np.sum(exp(-(e[:,j]**2)/(2*sigma**2)));
変数の寸法は以下のとおりです。
z
[Nx1の]、h
[NXP]、e
[NXP]、fit
[1xP ]。P
はfit
の次元数で、N
は各次元の長さです。私は、
PyTorch
からtorch.cuda.FloatTensor
を使用してそれを行う私の試みであるので、for
ループは避けるべきであることを知っています。
import torch
dtype = torch.cuda.FloatTensor
e = z - h;
fit = 1/(torch.sqrt(2*pi)*sigma*N)*torch.sum(torch.exp(-(torch.pw(e,2))/(2*torch.pow(sigma,2))));
残念ながら、それが機能していません。なにが問題ですか? ありがとうございました!
エラーメッセージは何ですか?常にエラー情報とともに質問を投稿してください。私は 'e = z-h'行でサイズの不一致エラーが発生していると思いますが、それは正しいですか? –
申し訳ありません。次回はエラーメッセージを投稿します。うん、あなたは正しい。 – Dirac