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
Hernia Baby
Hernia Baby on 29 Jun 2021
入力層と隠れ層の一部を自在なサイズに変更したいということでしょうか? 個人的には入力層のサイズに合わせた方がいいかなあと思いました。 imresize を参照ください。今回、スマホでコメントしていますので、コードそのものを確認する場合は少し時間がかかります。
和神 水ノ江
和神 水ノ江 on 30 Jun 2021
ご回答・ご提案ありがとうございます。
意図としましてはおっしゃられている内容で合っています。
ご提案していただきましたimresizeで対応してみようと思います。
ありがとうございました。

Sign in to comment.

More Answers (0)

Categories

Find more on イメージを使用した深層学習 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!