小藤工具链踩坑记
书接上回:https://bbs.huaweicloud.com/blogs/398735
MindStudio是昇腾的开发工具链,使用类似eclipse的界面,可以实现可视化的编程。张小白曾经写过几篇使用MindStudio连接云服务器( https://bbs.huaweicloud.com/forum/thread-196420-1-1.html )、使用MindStudio连接Atlas 200DK( https://bbs.huaweicloud.com/forum/thread-0238969849524470010-1-1.html )的文章。
所以张小白天然的想到:MindStudio能支持小藤吗?
在得到群里的人确认支持的答案后,张小白手都没停,直接去MindStudio官网:https://www.hiascend.com/software/mindstudio/download
官网上MindStudio的最高版本是6.0.RC1。点击zip文件的链接下载:
解压到任意目录(张小白这里是E:\AI目录)
制卡的时候就知道小藤的CANN版本号了:
操作系统:ubuntu 22.04
固件驱动:23.0.RC1.1
CANN:6.2.RC1
使用MobaXTerm登录到小藤后台核实下:
确实是6.2.RC1
可以双击MindStudio.bat文件启动MindStudio,张小白选择了使用命令行窗口启动的方式:
没想到打开之后能够看到很多项目。张小白想起来,上次也用过以前装过的其他目录下的MindStudio连接过Atlas 200DK。所以不管MindStudio安装在哪里,都有个配置目录与工具的目录是无关的。
这个不要紧,也是好事。张小白就选择了卡通风格迁移的项目,点击打开:
结果报CANN 1.82版本没找到。这个是当然的。因为现在CANN升级了。根据上次尝试的记录:https://bbs.huaweicloud.com/forum/thread-0238969849524470010-1-1.html 上次的MindStudio是5.0.RC1版本(链接3楼),CANN是5.1.RC2版本(链接5楼)
点确定后重新配置一下:
在弹出的页面选择Change:
这里弹出了CANN的配置页面,点击右边的+:
这里需要增加一个小藤的SSH链接:
张小白先用HwHiAiUser用户配置一下看看行不行:地址192.168.199.179。密码:Mind@123
在弹出的提示窗口点击确定:(为什么有这个提示,是因为现在小藤从路由器获取的IP跟以前Atlas 200DK从路由器获取的IP是一样的,都是192.168.199.179)
点击确定,回到CANN的配置页面,点击Remote CANN location右边的 文件夹按钮:
选择跟前面查到小藤后台一致的CANN toolkit的目录:/usr/local/Ascend/ascend-toolkit/6.2.RC1
点击确定后,MindStudio会做个前后台的同步:
不出意外的——报错了:
点击确定,打开错误详情:
报了一个权限错误Permission denied
看来不能用HwHiAiUser,我们改用root用户试一下吧。回到前面的ssh配置:
将用户名改为root,点击确定,测试连接并保存。
这回重新同步了:
看到数字和进度条在走,看来是可以的了。
终于同步完毕,回到了前面的CANN页面:
可以看到CANN version出来了:6.2.RC1
从Ascend的CANN Manager菜单,也可以看到CANN的信息:
MindStudio的部分工程需要MindX SDK的支持,打开Ascend-》MindX SDK,现在还没配置:
点击Install SDK:
同样的,找到MindX SDK在后台的目录:/usr/local/Ascend/mxVision-5.0.RC1
点击确定:
确认以上目录,点击 OK:
又开始同步了。
耐心等待同步完毕,这时候MindStudio可以识别到MindX SDK的版本为 mxVision 5.0.RC1.
点击确定关闭窗口。
我们来编译一下代码:
点击 构建-》Edit Configuration:
点击Mange toolchains:
检查Credentials配置是否正确,如果不正确,可以点击右边的...进行编辑和连通性测试:
点击确定:
这里会显示一个not install gdb。MindStudio专家解释说:环境上没有安装gdb,单纯的编译是没有问题的,后续单步调试依赖gdb。那暂时先不管。以后迟早得装上。
点击 构建-》Clean CMake Project:
点击 构建-》Rebuild CMake Project:
这里报了下载和上传超时。咨询MindStudio专家说 初步怀疑是因为开发板对ssh进行强安全加固,删除了不安全的算法,ssh连接时协商失败,正在协调开发板的硬件确认。但是张小白有点不相信。如果ssh连不上,按理说前面CANN Manager和MindX SDK Manager同步也会出错的,但是那个成功了。
编译的原理是将本地代码上传到开发板后台进行编译,所以一定有什么地方做了配置,张小白找了找,还真的找到了一个地方:
打开文件-》项目结构:
这里的Python版本是3.9.7,而且连接的服务器是192.168.199.204,这个好像是以前某个200DK的地址。
目前开发板Python版本是3.9.2:
所以这个配置肯定也要改。
点击上面的+,添加Python SDK。。。
进入这个页面:
居然还问老IP的密码了,暂时不管,取消后,点击Deploy右边的...,,结果进入了Ascend Deployment配置页面:
点击+,新增一个服务,server name为Atlas 200I DK A2,也就是小藤的那个很长的官方命名,点击确定:
在连接配置中选择SFTP的192.168.199.179 root用户的配置(前面因为权限问题配置了2个ssh,一个是root用户,一个是HwHiAiUser的用户,为了保险起见,全部用root用户来操作,避免权限问题)
点击测试连接:
点击确定。
系统自动识别后台Python版本为3.9.2,点击确定返回。
点击确定完成配置,系统会启动框架生成器,张小白也不知道它在干吗:
重新编译:点击 构建-》Rebuild CMake Project:
看来有戏,它貌似把代码传到 /home/HwHiAiUser/tmp目录下了:
但是还是报了个错,找不到opencv2,难道是开发板没有安装opencv吗?按理说不可能。
在前面的JupyterLab的样例代码中,应该是用到了opencv的。
这点什么原因呢?张小白把问题抛给了专家,下次再说。
(未完待续)
- 点赞
- 收藏
- 关注作者
评论(0)