CVAEのトレーニング時のエラーに関して
Show older comments
お世話になっております。
以前、「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
Accepted Answer
More Answers (0)
Categories
Find more on GigE Vision Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!