[未答复] 在AppDesigner中如何调用CNN模型预测?

[复制链接]
旋风小爪巴 发表于 2022-6-23 20:02:35
本帖最后由 旋风小爪巴 于 2022-6-23 22:39 编辑
  1. function identifyButtonPushed(app, event)
  2.             d5=load('.\models\dnet_error90.mat');
  3.             path1='cache\';
  4.                 res='';
  5.             for i=3:7
  6.                 img=uint8(imread(strcat(path1,num2str(i),'.jpg')));
  7.                 se=[1,1,1];
  8.                 img=imerode(img,se);
  9.                 img=imerode(img,se);
  10.                 [~,index]=max(predict(d5,img));
  11.                 res=strcat(res,num2str(index-1));
  12.             end
  13.             set(app.result,'Text',res);
  14.         end
复制代码
这段代码的predict会报错"no valid system or dataset was specified"。经我检查发现这个system、dataset参数对应的是另一个同名predict函数。请问我应该如何指定到deeplearning toolbox工具箱中的predict函数呢?由于我现在找不到这个工具箱在根目录哪里,文件搜索命令也找不到对应的predict.m文件。所以我无法使用addpath来指定路径,同时我不知道为什么命令行窗口能够运行predict(net,img)而app designer中使用predict却会指向另一个predict函数,其他类似的函数如classify同样如此。
我想了解一下大佬们是如何在app designer中进行CNN目标检测模型调用的或者对于上述的命令行能用已安装工具箱但是却找不到其根目录的奇怪情况能够跟俺说说是咋回事。
新人菜鸟见谅,不胜感激!
附:使用64位 R2021a、Win10操作系统。Deeplearning Toolbox工具箱为matlab官方工具箱,安装时自带的。

2 条回复


旋风小爪巴 发表于 2022-6-24 12:35:16
最新进展,classify与predict找不到是因为他们是SeriesNetwork类中成员函数。。。
于是我尝试d5.predict(img)
然后报错无法识别字段“predict”。
很奇怪,predict是我通过代码补全打出来的...说明码代码的时候是能够识别到的

旋风小爪巴 发表于 2022-6-24 13:39:00
本帖最后由 旋风小爪巴 于 2022-6-24 13:41 编辑

已解决!需要使用load XXX.mat 这样的形式而非d5=load(XXX.mat);
否则会出现网络的成员函数无法识别问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表