CVAEのトレーニング時のエラーに関して

3 Ansichten (letzte 30 Tage)
eri matsuyama
eri matsuyama am 17 Dez. 2020
Kommentiert: eri matsuyama am 29 Dez. 2020
お世話になっております。
以前、「Conditional VAE (Variational Auto Encoder) 条件付きVAE」をご紹介頂き
お勉強させて頂いております。
本プログラムを自身のGPU搭載PCを使って学習させたいと思い、doTraining=1; にしてみました。
しかしエラーになってしまい、解決方が解らず悩んでおります。
どのようにすれば、GPUでの学習が可能になるか、ご教授頂きたく、よろしくお願いいたします。
*****  以下エラーです ******************************
エラー: dlfeval
層 'emb': 入力データが無効です。 層 'embedAndReshapeLayer' において、'predict' の 'Z' のタイプが正しくありません。
'single' が必要ですが、代わりに 'gpuArray' となっていました。
エラー: Conditional_VAE
[infGrad, genGrad] = dlfeval(...
**********************************************
以下のように doTraining=1; とすると上記のエラーになります。
なお、以下のコードの下3行(太字記載)を %で伏せるとエラーにはなりませんが、
GPUが使えない事になり、困惑しております。
Train Model
doTraining=1;   
if doTraining==1
for epoch = 1:numEpochs % the tranining data is learned in total of "numEpochs" times
tic;
for i = 1:numIterations
iteration = iteration + 1;
idx = (i-1)*miniBatchSize+1:i*miniBatchSize;
XBatch = XTrain(:,:,:,idx);
XBatch = dlarray(single(XBatch), 'SSCB');
YBatch = permute(YTrain(idx),[2 3 4 1]);
% For example, the 2nd dimension goes to 4th dimension
YBatch = dlarray(single(YBatch), 'SSCB');
if (executionEnvironment == "auto" && canUseGPU) || executionEnvironment == "gpu"
XBatch = gpuArray(XBatch);
end

Akzeptierte Antwort

Kenta
Kenta am 28 Dez. 2020
こんにちは、file exchangeのconditional vaeを試していただいたとのこと、ありがとうございます。
大変申し訳ないのですが、私の方で試しても同じエラーがでました。作成した2020a当時ではうまく行っていたと思うのですが、、、2020aをインストールして実行すればできるかもしれませんが、わざわざバージョンダウンさせても、エラーがで続けてもへこみますし、このままCPUで計算するか、conditional GANでやってみるのが良いかもしれません。
おそらくパフォーマンスはCVAEと同等 OR CGANのほうが良くなるはずで、CVAE特有の使い方をしない限り特に問題は起こらないものと思います。
  1 Kommentar
eri matsuyama
eri matsuyama am 29 Dez. 2020
kenta 様
御忙しい時期に、ご対応頂き、感謝申し上げます。
ありがとうございます。バージョンの問題との事で理解いたしました。
現在、VAEならびにConditional VAEのアルゴリズムを
お勉強している最中です。
コードを拝見させて頂きながら、一般画像で精度が向上するためには、
何を調整すべきかを、考えて行きたいと思っています。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu イメージを使用した深層学習 finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!