MATLAB Answers

Anomaly detection using Variational Autoencode​r(VAE)のサンプ​ルコードエラーについ​て

5 views (last 30 days)
こちらのサンプルコードを動かそうとしています。
最初の画像サイズの部分に関しましては入力画像に応じて変更できるように下記のように書き換えました。
Imgsize = size(readimage(imdsTrain,1)); % 画像サイズ
BlockSize = round(Imgsize(1:2)./10);% ネットワークの入力サイズ
その後実行を続けていくとモデルの学習の部分で下記のようなエラーが返されます。
配列のサイズがこの演算に適合しません。
エラー: deep.internal.recording.operations.MinusBroadcastOp/forward (32)
x = x - y;
エラー: - (39)
zdata = matlab.lang.internal.move(xdata) - matlab.lang.internal.move(ydata);
エラー: VAEmodel_ver2>ELBOloss (188)
squares = 0.5*(xPred-x).^2;
エラー: VAEmodel_ver2>modelGradients (165)
loss = ELBOloss(x, xPred, zMean, zLogvar);
エラー: deep.internal.dlfeval (18)
[varargout{1:nout}] = fun(x{:});
エラー: dlfeval (41)
[varargout{1:nout}] = deep.internal.dlfeval(fun,varargin{:});
関連ドキュメンテーション
こちらに関する解決方法はありますでしょうか。
宜しくお願い致します。

Accepted Answer

Hernia Baby
Hernia Baby on 28 Jun 2021
BlockSize = round(Imgsize(1:2)./10);
BlockSizeが [72 128] となっており、入力サイズがあってないのだと思います。
この場合、Blocksize = Blocksize * 2;で解決します。
  3 Comments
和神 水ノ江
和神 水ノ江 on 30 Jun 2021
ご回答・ご提案ありがとうございます。
意図としましてはおっしゃられている内容で合っています。
ご提案していただきましたimresizeで対応してみようと思います。
ありがとうございました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!