機械学習済みのmat​ファイルをweb app serverに​て読み込む方法

조회 수: 34 (최근 30일)
soh
soh 2022년 12월 21일
댓글: soh 2023년 1월 9일
現在アプリにて機械学習済みのmatファイルをweb app serverに​て読み込みたいです。(app designerで制作したアプリです)
現状としては、
app.appDirectory = fileparts(mfilename('fullpath'));
にてアプリのディレクトリを取得し、その後
cd('model')
として機械学習済みのmodelが入っているファイルを参照し、load('model1.mat')のような形で、matファイルの中にあるmodel1.matを読み込んでおります。(modelの中にあるmatファイルは複数あります。)
このmodelのファイルは、私が「app.appDirectory」のpathを参考に手動でいれています。
ただバージョンを変えるごとに、「app.appDirectory」のpathがかわるため、毎回modelのファイルを動かすのが手間に感じております。
これよりいい方法で、matファイルを読み込む方法はないのでしょうか。
  댓글 수: 5
Atsushi Ueno
Atsushi Ueno 2023년 1월 5일
>「機械学習済みのmodelファイルをここに動かす」の部分ですが、これは事前に「model_path」の中に私が手動で「model1.mat」を入れるということでしょうか。
はいその通りです。私がweb app serverを動かす環境を持たない状態で回答しているのでこの様な事態になっています。具体的に何が起きているのか、私が詳細を想定出来ていません。
上記リンクの回答ではuigetfile関数を使っています。即ち自分でフォルダを選ぶ様にという事です。これは@sohさんが下記の通り行っている事と同じだと思います。
>このmodelのファイルは、私が「app.appDirectory」のpathを参考に手動でいれています。
soh
soh 2023년 1월 9일
ありがとうございます。
今回はweb app server においての動作もあわせての確認であったため、ご指摘いただいた方法では手動でずっと行う必要がありました。
よって、回答は別の方を採用させていただきました。

댓글을 달려면 로그인하십시오.

채택된 답변

Kojiro Saito
Kojiro Saito 2023년 1월 6일
Webアプリはアクセスする毎にセッションフォルダーが変わってしまいますが、「Web アプリコンパイラー」で「アプリに実行に必要なファイル」にフォルダーを追加してパッケージに含めれば、
load(fullfile('models', 'trainedModel.mat'))
のようにフォルダー名とmatファイル名をfullfileでつなげて読み込みできます。
matファイルの実体はWindowsだと
C:\ProgramData\MathWorks\webapps\R2022b\USR\.appCache\mcrCache9.13\myPred\myPredictApp\models\trainedModel.mat
のようにアプリのキャッシュフォルダーの中に配置されるので、セッションによらず同じmatファイルを使用することができます。
  댓글 수: 1
soh
soh 2023년 1월 9일
ありがとうございます。
ご指示通り行ったところ無事解決いたしました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB Web App Server에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!