AppDesigne​rで作成したアプリの​起動時に読み込んだデ​ータが使えない

11 vues (au cours des 30 derniers jours)
和神 水ノ江
和神 水ノ江 le 8 Sep 2021
Commenté : Kojiro Saito le 8 Sep 2021
現在、AppDesignerで作成したアプリ上で事前に学習が完了している機械学習の分類を行おうとしています。
その際、アプリ起動時にこの学習済みのモデルを読み込む処理を行い、ボタンを押すと分類が始まるシステムの開発をしていますが上手くできません。
function startupFcn(app)
load("sample.mat",'decoderNet','encoderNet');
end
function ButtonPushed(app, event)
prediction(app,encoderNet,decoderNet);
end
sample.matにはdecorderNet,encoderNetが保存してあり、predictionは分類を行う関数です。
このpredictionの部分で「関数または変数 'encoderNet' が認識されません。」とエラーが返されます。
これは最初のsample.matが読み込めていないということでしょうか?

Réponse acceptée

Kojiro Saito
Kojiro Saito le 8 Sep 2021
decorderNetencoderNetがApp Designerのfunctionの中でのローカル変数になってしまって他の関数から認識されていない状態のようです。
「コードビュー」の左側の「コードブラウザー」からプロパティを追加し、
properties (Access = private)
end
の中に
decoderNet
encoderNet
の2行を追加してみてください。
こんなイメージです。
そして2つの関数を以下のように変更します。
function startupFcn(app)
load("sample.mat",'decoderNet','encoderNet');
app.decoderNet = decoderNet;
app.encoderNet = encoderNet;
end
function ButtonPushed(app, event)
prediction(app, app.encoderNet, app.decoderNet);
end
これでいけるはずです。
  2 commentaires
和神 水ノ江
和神 水ノ江 le 8 Sep 2021
ご回答していただきありがとうございます。
こちらの実装で無事に動かすことができました。
Kojiro Saito
Kojiro Saito le 8 Sep 2021
解決できて良かったです。
App Designerはappというルート変数がコールバック関数から共通でアクセスできます。
ドキュメントだとこの辺りに説明がありました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur App Designer を使用したアプリ開発 dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!