华为昇腾系列开发入门教程三:应用开发环境配置及Mind Studio的若干实践

本文主要是介绍华为昇腾系列开发入门教程三:应用开发环境配置及Mind Studio的若干实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编|章磊

大兄dei,你能从这个枯燥的标题里点进来,证明你也是走过未来的人呐

挪,今天是2021年8月16号,愿昇腾大火的那天,尔等再看到这篇文章时不要忘记点个赞噢~

说实话,真心特别不想写这类文章,给人的感觉就是很枯燥,勾不起用户读下去的欲望,比如我在百度上根据“昇腾 开发环境 配置”关键字来搜索,画风是这样滴。。。。

在这里插入图片描述
总结就是三句话:劳资不想看,啥时候能滑完,告辞!!!

文章的作者如果不幸看到了这里……
在这里插入图片描述
在这里插入图片描述
好了好了,玩笑归玩笑,既然分享了,就值得表扬,毕竟很多人连官网教程的入口都不知道在哪咧。

应用开发环境配置

先献出两篇巨作~

《MindStudio 版本: 3.0.2安装手册》
《安装MindX SDK开发套件》
之所以推荐这个文档,是因为它里面基本涵盖了昇腾应用层开发关于环境变更配置的所有内容,如果某天文档更新了,请记得在官网这样搜索(根据面包屑实在没找到直接入口)。
在这里插入图片描述
环境配置逻辑大概是这样的啊(以下所有截图均来自上述文档及其子页):

1、你说你要开发应用吧,比如前几篇文章提到的图像分类,你就要配置MindX SDK;
在这里插入图片描述
在这里插入图片描述

2、MindX SDK需要一些底层库支持以及应用开发过程中的模型转换、自定义算子等功能,你还要装CANN(Ascend-cann-toolkit)及插件包
在这里插入图片描述
在这里插入图片描述

3、装CANN得有个基于Linux的OS,如CenterOS或Ubuntu,或者干脆买台服务器。
在这里插入图片描述
4、没有Linux环境,可能要装个类似VM或者docker的玩意儿
5、想在命令行使用cann toolkit工具,要配置环境变量
在这里插入图片描述
在这里插入图片描述
6、你想图形界面开发,要装Mind Studio吧
在这里插入图片描述
7、你用python开发,要装个python环境
8、只是基于MxBase开发,装个C++环境应该差不多
9、想在本地开发,华为服务器上运行,还要装个ssh吧(也可以直接用MindStudio内置的Remote Run)
在这里插入图片描述

(*以上新鲜词汇请转至《致名词,其实我还在这里》)

快!!告诉自己还能看下去。

在这里插入图片描述

那。。。。。大家结合官网这张图看下吧。
在这里插入图片描述
其实也只是看起来复杂,配起来更复杂,自己动手去吧~

等你们明白了什么是实践才是真理,一定会回来跟我一起写下这段话滴。

Mind Studio的若干实践

就在昨天,老夫心血来潮想尝试下Mind Studio,并结合这个粟子来调试python代码,按照老夫的悟性,两个小时应该差不多了吧,然鹅。。。。

还是从10点搞到了9点,主要是解决以下几个问题:

1、没接触过python的痛

导入项目后,给我报个找不到python解释器。
在这里插入图片描述
直接点进去,MD一头雾水,你好歹也给我提示到对应的操作入口啊,google了下”pycharm python interpreter config“,解决。
在这里插入图片描述

2、cv2无法引用

这种问题好办,直接看看Studio里项目依赖有没有cv2,在这里加一下就解决了。
在这里插入图片描述
当然,也可以直接安装。
在这里插入图片描述
问题是解决了,但不优雅啊,凭什么命令行里可以”import cv2“,这里引用相同版本的python却不行了呢。。。。

3、atc命令用不了啊啊啊

之前做的时候,模型是在华为云服务器里配置的,因为那里环境都已经配置好了,所以什么atc转换模型用起来得心应手。

今天尝试在本地环境来转换下模型,“not found command atc”。
在这里插入图片描述
打开bashrc文件,加上mxsdk时的atc/lib54,source后再重启终端,反正怎么折腾都不行。就这样,过了两个小时……

最后,实在不想折腾了,把云里的bashrc文件拿过来简单的改了下,再输入atc,终端停顿了2s,终于告诉我参数格式不正确,你们能从字里行间里读出我看到我说这句话的喜悦了吗
在这里插入图片描述

4、改了环境变量,api叕用不了啊

潜意识下,觉得改完环境变量,MindStudio再打开应该会报错,果然, 25个小红叉。
在这里插入图片描述

这里的修复过程不说了,反正搞了3、4个小时,最后是LD_LIBRARY_PATH出了问题。
在这里插入图片描述

5、说好的远程运行呢

官网上关于Remote Run似乎只有C++部分,但是python具体的参数怎么填呢。
在这里插入图片描述
想当然地这样配置了,Mind Studio不出意外地报个错。
在这里插入图片描述
辣么,问题就回到如何让云服务端以python main.py来执行呢,而不是./main.py。
机智如我,在项目下建一个start.sh文件,写入python3 main.py,然把这个文件的路径配上去,可以是可以,但总觉得有点麻烦。

最后在老师的指导下,在executable处配上服务端的python地址,如usr/local/python3,参数处填上main.py,才似乎可以了,毕竟还是报了一个相对路径的错误,就不管啦,大不了去服务端输入个命令好啦。

总结

看到这里,相信大家对昇腾应用开发环境配置有个大概的了解了,还是那句话,细心使得万年船啊

好了,就扯这么多了,整个环境配下来,严重影响了老夫写文章的心情,不写了不写了,
写的什么鬼东西。

这篇关于华为昇腾系列开发入门教程三:应用开发环境配置及Mind Studio的若干实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832382

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性: