创建应用工程
新建应用工程方式
- 进入工程创建页面。
- MindStudio欢迎界面:单击“New Project”。
- MindStudio工程界面:在顶部菜单栏中选择 。
- 在“New Project”窗口中,选择“Ascend App”,选择工程类型,如图1,单击“Next”进入工程配置。(若工程类型名称显示不全,鼠标悬停于工程类型名称处,则工程类型名称可以完整显示。)
CANN Version:当前激活的CANN版本,可通过单击右侧“Change”进行变更,具体功能使用请参见切换/激活CANN包。
如未在MindStudio中配置CANN,部分应用工程可能无法正常显示。
- ACL Project为AscendCL空白工程,仅包括开发框架的工程,不含具体的代码逻辑。
- ACL ResNet-50为AscendCL样例工程,是以acl_resnet50样例为模板的工程。
acl_resnet50样例主要是基于Caffe ResNet-50网络(单输入、单Batch)实现图片分类的功能。将Caffe ResNet-50网络的模型文件转换为适配昇腾AI处理器的离线模型(*.om文件),在样例中,加载该om文件,对2张*.jpg图片进行同步推理,分别得到推理结果后,再对推理结果进行处理,输出top5置信度的类别标识。
图2 Sample示例
- 进入工程配置栏,配置工程相关参数如表1所示。
表1 工程参数说明 参数
说明
Project name
工程名称,自行配置。
名称开头和结尾必须是数字或字母。只能包含字母、数字、中划线和下划线,且长度不超过64个字符。
Project location
工程默认保存路径,用户可自定义。(对于首次使用MindStudio的用户,该项默认为“$HOME/MindstudioProjects”。)
More Settings
“Module name”:模块名,默认与“Project name”一致。
“Content root”:根目录下路径。
“Module file location”:模块文件路径。
单击“Project format”右侧选框,出现下拉菜单。- .idea(directory-based):创建项目的时候创建一个.idea项来保存项目的信息,默认选项。
- .ipr(file-based):项目配置文件来保存项目的配置信息。
- 单击Finish,完成工程创建。成功创建工程后,工程目录的主要结构如下,请以实际获取为准。
- ACL Project(C/C++):
├── 工程名 │ ├── build │ │ ├──cmake //存放cmake依赖文件。 │ ├── out //存放编译出的可执行文件。 │ ├── src │ │ ├── CMakeLists.txt //编译脚本。 │ │ ├── main.cpp //主函数的实现文件,当前主函数内无代码逻辑。 │ ├── CMakeLists.txt //编译脚本,调用src目录下的CMakeLists文件。
- ACL Project(Python):无代码目录。
- ACL ResNet-50(C++):
├── 工程名 │ ├── build │ │ ├──cmake //存放cmake依赖文件。 │ ├── data │ ├── model │ ├── inc │ │ ├── model_process.h //声明模型处理相关函数的头文件。 │ │ ├── sample_process.h //声明资源初始化/销毁相关函数的头文件。 │ │ ├── utils.h //声明公共函数(例如:文件读取函数)的头文件。 │ ├── out //存放编译出的可执行文件。 │ ├── script │ │ ├── transferPic.py //将*.jpg转换为*.bin,同时将图片从1024*683的分辨率缩放为224*224。 │ ├── src │ │ ├── acl.json //系统初始化的配置文件。 │ │ ├── CMakeLists.txt //编译脚本。 │ │ ├── main.cpp //主函数,图片分类功能的实现文件。 │ │ ├── model_process.cpp //模型处理相关函数的实现文件。 │ │ ├── sample_process.cpp //资源初始化/销毁相关函数的实现文件。 │ │ ├── utils.cpp //公共函数(例如:文件读取函数)的实现文件。 │ ├── CMakeLists.txt //编译脚本,调用src目录下的CMakeLists文件。
- ACL ResNet-50(Python):
├── 工程名 │ ├── data │ ├── model │ ├── src │ │ ├── acl_net.py //运行文件。 │ │ ├── constant.py //常量定义。
- ACL Project(C/C++):
导入应用工程方式
- 导入工程文件,可通过选择以下任意一种方式完成。
- MindStudio欢迎界面:单击“Open”,选择需要导入的工程,单击“OK”确认导入。
- MindStudio工程界面:在顶部菜单栏中选择 或单击工具栏中的,选择现有工程打开。
如该工程存在代码风险,在打开时会弹出信任窗口。
- 如该工程源码可被信任且安全,请单击“Trust Project”。(可通过勾选“Trust project in <工作区目录>”复选框信任该目录下的所有工程。)
- 如该工程不被信任,仅用于查看其中源码,请单击“Preview in Safe Mode”进入安全模式预览。
- 如放弃打开该工程,请单击“Don't Open”取消工程导入操作。
- 若工作窗口已打开其他工程,会出现确认提示。
- 选择“This Window”,则直接在当前工作窗口打开新创建的工程。
- 选择“New Window”,则新建一个工作窗口打开新创建的工程。
- 成功导入工程后,工程目录以树状呈现,请以实际创建结果为准。
父主题: 基于AscendCL开发应用