华为Atlas 200DK环境搭建&推理测试
引子
华为Atlas DK,一款边端推理芯片,源码本文将带你了解如何搭建其开发环境并进行推理测试。源码
一、源码环境搭建
1.1 物理硬件准备
需要一台x架构的源码Linux PC机、USB连接线、源码b端源码网线、源码内存不低于GB的源码SD卡与SD卡读卡器。
1.2 软件准备
需从网络自行下载1.0.版本的源码固件驱动,官网提供的源码最低驱动版本为1.0.,但该版本不兼容设备。源码
1.3 刻录开发板系统
将SD卡插入读卡器,源码安装相关软件包,源码创建制卡工作目录,源码上传操作系统与驱动包,源码security源码介绍使用脚本制卡。
1.4 网络配置
安装USB网卡驱动,配置USB与NIC网卡IP,通过SSH登录设备并调整网络设置。
1.5 安装CANN
确保CANN版本与固件驱动版本一致,从网络下载对应的CANN版本,卸载不符合版本的Python,安装CANN。
二、项目演示:基于Resnet的分类应用
获取源码包并安装依赖,如opencv与numpy。进行样例输入准备与模型转换。使用ATC进行模型转换。
设置环境变量,安装源码软件执行运行脚本。展示样例结果,包括置信度TOP5的类别标识、置信度信息和对应类别信息。
飞思卡尔的IMX6Q芯片好用吗?有核心板+底板的吗?
飞思卡尔的IMX6Q不错,4核运算,最高主频可达1.2Hz,而且支持高清视频(有高清端口,LCD、LVDS、VGA、HDMI)。虽然说国外的一些开发板都是单板结构,但是小众直播源码国内也有一些不错的厂商开发的核心板+底板的开发平台。这里,推荐天嵌科技的TQIMX6Q_BASEC开发板,比较高的性价比。
Mac 下的 C++ 开发环境 XCODE和其他介绍
Xcode,版本4.6.3,内置了创建C++项目的功能,操作步骤如下:首先打开Xcode并新建项目,选择OS X中的Application内的Command Line Tool选项,然后在项目设置中选择Type为C++。若不需要使用自动引用计数(ARC),取消勾选C++选项。完成这些步骤后,即可在Xcode中创建一个基础的C++项目。
值得注意的部署php源码是,Xcode默认使用的C++编译器是Apple LLVM Compiler(4.6.3版本为4.2),默认标准库为libc++,已支持C++标准(先前的C++0x)。Xcode同时提供了LLVM GCC编译器,其附带的C++标准库为libstdc++。在引入第三方库时,需特别注意选择,例如OpenCV可能需要将标准库设置为libstdc++。
如果选择不使用IDE,直接通过命令行编译C++项目也很容易,只需要使用编译器即可。
接下来,我们简要介绍C++的编译过程。编译过程包含预处理、编译和链接等步骤,目的是从源代码生成可执行文件。compiling仅是整个build过程的一部分,但人们经常会误将compile视为整个过程。通常情况下,这些步骤由编译器自动完成,无需单独运行命令。
Mac上默认拥有LLVM和GCC两大编译工具。
LLVM起源于“Low Level Virtual Machine”项目,由Chris Lattner和Vikram Adve于年在伊利诺伊大学厄巴纳-香槟分校开始。年Apple雇佣了Chris Lattner,组建团队专注于LLVM在Apple开发系统上的应用。目前,LLVM是MacOS和iOS开发工具的关键组成部分。
LLVM项目是一个综合项目,包括了一系列与开发工具相关的技术,如编译器Clang、调试器LLDB、JIT系统VMKit、优化器DragonEgg等。
GCC,全称为GNU Complier Collection,是GNU项目的核心组成部分,由自由软件之父Richard Stallman于年发起。GCC最初只支持C语言编译,1.0版本后开始支持C++,随后支持了Objective-C、Objective-C++、Fortran、Java、Ada、Go等其他语言。
选择LLVM或GCC取决于具体需求。GCC历史悠久,支持范围广泛,许多开源项目直接使用GCC作为编译器。而LLVM相较于GCC的优势在于:编译速度快、内存占用小、模块化设计易于集成及其他用途的重用、诊断信息可读性强、设计清晰简单、易于理解和扩展。通过GCC和Clang的相应编译选项,可以查看build过程的各个步骤,如仅执行预处理、编译阶段或生成对应名称的对象文件等。
关于GCC和Clang的编译选项,通过man gcc和man clang可以获取更多详细信息。
å¦ä½å¨Linuxä¸ä½¿ç¨OpenGL+ C++å¼å
åææ¯ï¼1.é 置好äºUbuntuä¸çc++ç¯å¢ï¼gcc以åg++å¯ç¨ã
2.使ç¨eclipse for c+åOpenGLå¼å
ããæ¥éª¤ä¸ï¼
å¨ubuntuç»ç«¯ä¸è¿è¡ä»¥ä¸å½ä»¤ï¼å®è£ openglæéè¦çåºæ件
$ sudo apt-get install build-essential
$ sudo apt-get install freeglut3-dev
ããæ¥éª¤äºï¼
ããè¿è¡ä¸ä¸openglå®ä¾ï¼æµè¯é ç½®çç¯å¢æ¯å¦å®è£ æå
å¨eclipseä¸æ°å»ºä¸ä¸ªå·¥ç¨æ件ï¼å设æ们å½å为Testï¼å¨å·¥ç¨Testéé¢æ°å»ºä¸ä¸ªC++æºä»£ç æ件ï¼è¿éæ们æå®å½å为main.cppï¼å¨main.cppæ件ä¸æå ¥ä¸ä¸ä»£ç
#include <GL/glut.h>ããvoid init();
void display();
ããint main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB |GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(, );
ããglutCreateWindow("OpenGL 3D View");
ããinit();
glutDisplayFunc(display);
ããglutMainLoop();
return 0;
}
ããvoid init()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5, 5, -5, 5, 5, );
glMatrixMode(GL_MODELVIEW);
gluLookAt(0, 0, , 0, 0, 0, 0, 1, 0);
}
ããvoid display()
{
glClear(GL_COLOR_BUFFER_BIT);
ããglColor3f(1.0, 0, 0);
glutWireTeapot(3);
ããglFlush();
}
å³å»å·¥ç¨æ件å
Test->ç¹å»å±æ§ï¼Propertiesï¼->C/C++Bulid->Settings->GCC C++Linker->Libraries,
å¨è¿ä¸ªçªå£ä¸æ·»å å 个个åºï¼
åå«ä¸ºGLU,glut,GLï¼
ç¹å»OKã
å¦æè¿æ³ä½¿ç¨opencvï¼
å¨è¿éè¿å å ¥cv,cxcore,highguiçåºæ件ï¼
æ ¹æ®èªå·±çéè¦æ¥å®
åæ¶å¨GCC Cï¼ï¼ Compiler->Includesä¸çincudepathä¸æ·»å è·¯å¾/usr/include/GL
å¦æè¿æ³ä½¿ç¨opencvä¸çåºï¼é£ä¹å å ¥opencvçè·¯å¾ï¼ä¸è¬æ¯/usr/include/opencv
ããè¿è¡ä»¥ä¸ç¨åºï¼ä¼æ¾ç¤ºä¸ä¸ªè¶å£¶å½¢ç¶çopenglè¿è¡ç»æ
如何安装python扩展包?
安装Python扩展包有多种方法,以下是其中两种常见的方式:
### 1. 使用pip命令
在终端或命令行中输入以下指令可以使用pip安装任意一个Python扩展包:
```
pip install package_name
```
其中 `package_name` 是你需要安装的扩展包名称。
如果你需要安装某个特定版本的扩展包,可以在名称后面加上等号和版本号(如:`package_name==1.0.0`)。
如果你想升级已经存在的扩展包到最新版,可以使用下面这个指令:
```
pip install --upgrade package_name
```
### 2. 下载源码并手动编译安装
当某些Python库不支持通过 pip 安装时,我们就需要下载源代码并进行手动编译。具体步骤如下:
- 打开浏览器,在 PyPI 上搜索要下载的 Python 库。
- 点击页面上方"Download files"链接进入下载列表页面。
- 在该页面选择对应操作系统及 Python 版本后点击相应文件名进行下载。
- 下载完成之后解压缩,并打开终端或命令行界面进入解压缩后目录所在位置。
- 运行 `python setup.py build` 命令生成二进制文件(可选)。
- 执行 `python setup.py install` 命令来将模块从源代码编译为共享库,并将其安装到 Python 环境中。
这两种方式都可以用来安装Python扩展包,选择何种方法取决于你的需求以及个人喜好。
2024-11-30 13:29
2024-11-30 13:21
2024-11-30 12:46
2024-11-30 11:52
2024-11-30 11:14