树莓派+movidius神经计算棒环境搭建

材料:

一个树莓派开发板

一张不小于16G的TF卡

一条网线

一个路由器

STEP 1

登陆树莓派的官方下载网站:https://www.raspberrypi.org/downloads/raspbian/,选择raspbian stretch with desktop的zip版本下载到本地电脑上,并解压。

树莓派+movidius神经计算棒环境搭建_第1张图片
image

STEP 2

到SD Memory Card Formatter的官方网站https://www.sdcard.org/downloads/formatter_4/下载SD Card Formatter,利用读卡器将TF卡插到电脑上。

点击下载好的SD Card Format,选择TF卡的盘符,点击Formatter,格式化TF卡。

树莓派+movidius神经计算棒环境搭建_第2张图片
image

STEP 3

百度下载win32diskimager等镜像烧制工具,点击打开win32diskimager,选择我们解压好的raspberry镜像,已经格式化的TF卡,点击Write,将镜像写入TF卡中。

树莓派+movidius神经计算棒环境搭建_第3张图片
image

当烧制完成之后,会弹出提示,点击OK即烧制完成。

image

注:烧制完成后文件资源管理器可能会弹出另外一个提示,请求是否格式化已经烧制好的TF卡,此时千万不能点击格式化磁盘,否则烧制的系统就用不了了,得重新进行step2和step3.

树莓派+movidius神经计算棒环境搭建_第4张图片
image

STEP 4

若有显示器和HDMI接口的数据线,就取下TF卡,插在树莓派上,连接显示器和树莓派,给树莓派插上电源,若显示器出现树莓派的桌面即烧制成功,但同时还要给树莓派接上usb的键盘和鼠标,才可以操作树莓派。至此,树莓派系统的烧制完成。可跳过STEP5和STEP6。

如果觉得太麻烦或者没有相应的硬件,则可以选择以下方法:

进入已经烧制好的系统的根目录,新建一个空文件ssh。

树莓派+movidius神经计算棒环境搭建_第5张图片
image

取下TF卡,插在树莓派上,给树莓派通上电源,若红灯常亮,黄灯闪烁,则证明树莓派系统已经烧制成功且已经开机启动,否则需要重新返回STEP2重新烧制。

STEP 5

用网线将树莓派和路由器连接起来。

在浏览器中输入192.168.1.1(不同的路由器可能不同),输入用户名和密码(用户名和密码都是admin)进入路由器管理页面,查看DHCP服务器的客户端列表,找到树莓派并记录其ip地址。


树莓派+movidius神经计算棒环境搭建_第6张图片
1569946704832.jpg

利用putty等ssh工具连接树莓派,即刚刚记录的ip地址。输入树莓派的默认名(pi)和密码(raspberry),连接树莓派。

树莓派+movidius神经计算棒环境搭建_第7张图片
image

输入


sudo raspi-config

树莓派+movidius神经计算棒环境搭建_第8张图片
image

选择5 Interfacing Options

树莓派+movidius神经计算棒环境搭建_第9张图片
image

选择p3 vnc,开启vnc

树莓派+movidius神经计算棒环境搭建_第10张图片
image

选择Finish,保存退出。

输入


vncserver

开启vnc服务,记录ip地址和端口。

树莓派+movidius神经计算棒环境搭建_第11张图片
image

访问vnc的官网https://www.realvnc.com/en/connect/download/viewer/下载对应操作系统的vnc viewer

打开vnc viewer,输入刚刚记录下的ip地址和端口,输入用户名(pi)和密码(raspberry),访问raspberry

树莓派+movidius神经计算棒环境搭建_第12张图片
image

出现如下窗口,则表示连接成功,可通过vnc viewer来操作树莓派。

image

二、为树莓派安装NCSDK,搭配movidius神经计算棒,运行程序。

STEP 1

安装ncsdk和运行ncsdk实例的过程中需要下载很多依赖包,如果下载速度慢的话需要等待的时间很长,有些下载速度只有几KB每秒,这是因为树莓派的默认软件源在国外,所以导致下载速度非常慢,有时候还会无法访问网站,导致下载安装失败。

因此在正式安装ncsdk之前,需要更换树莓派的软件源。

树莓派默认没有安装vim,为了方便在终端修改文件,安装vim(或者其他熟悉的LINUX文件编辑软件)。

输入


sudo apt-get install vim

按照提示安装vim,等待安装成功。

安装完vim之后,开始修改镜像源。

选择其中的一个软件源,开始修改树莓派的软件源配置。

输入


sudo vim /etc/apt/sources.list

注释掉其中的内容,添加


deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

保存退出,再修改 /etc/apt/sources.list.d/raspi.list中的内容

输入


sudo vim /etc/apt/sources.list/raspi.list

注释掉文件中的内容

添加


deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

保存退出

在终端中输入


sudo apt-get update

sudo apt-get upgrade

等待软件源更新完成。

注意:若下载速度过慢或者有些地址无法访问,例如出现如下错误提示


Err http://archive.raspberrypi.org jessie InRelease

Err http://archive.raspberrypi.org jessie Release.gpg

Could not resolve 'archive.raspberrypi.org'

W: Failed to fetch http://archive.raspberrypi.org/debian/dists/jessie/InRelease 

W: Failed to fetch http://archive.raspberrypi.org/debian/dists/jessie/Release.gpg  Could not resolve 'archive.raspberrypi.org'

W: Some index files failed to download. They have been ignored, or old ones used instead.

可以在树莓派实验室(http://shumeipai.nxez.com/2013/08/31/raspbian-chinese-software-source.htm)中查看其他国内的镜像地址。但注意,要根据树莓派的安装系统版本选择不同的版本,比如这里的树莓派系统版本是stretch版本,就不能使用网站中所说的wheezy或者jessie。

STEP 2

一开始以为ncsdk在树莓派的安装和在ubuntu系统上的安装方法差不多,具体如下:


git clone https://github.com/movidius/ncsdk.git

cd ncsdk

make install

make examples

这个方法会下载ncsdk全部内容。使用这个方法可以有效地将ncsdk下载到ubuntu上,虽然安装时间较长,也会因为错误而安装失败,但大部分原因是因为python的依赖包版本不对或者无法下载而引起的,只要修改根据STEP 1修改软件源,多下载几次,或者先自行下载相应的软件包,即可下载成功,并成功运行例子。

在树莓派的系统下安装也会爆出的很多错误,虽然解决了,但是在make examples的过程中,树莓派会突然死机,无法运行,重新接通电源会发现树莓派黄灯不亮(系统没有运行),即表示TF卡中的镜像系统已经损坏,无法使用,需要重新烧制,一开始以为是内存不足引起的,但重复试了几次发现都是这样,所以只能查找别的配置方法。

在github中找到了ncsdk的树莓派纯API安装教程,ubuntu系统下的安装方法是一整个ncsdk,但由于有些python的包无法在树莓派上运行,因此在运行的时候会出现各种各样的问题,根据官方的说法,纯API模式无法将神经网络检查/验证、编译成二进制图形文件,但是可以利用它来调用神经计算棒加速运行。

即我们可以在ubuntu系统下利用神经计算棒和ncsdk将神经网络编译成graph文件,然后将该graph文件复制到树莓派中,再插入神经计算棒,调用ncsdk中的api,实现加速。

具体过程如下:

Step 1 :安装依赖包


sudo apt-get install-ylibusb-1.0-0-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev git automake byacc lsb-release cmake libgflags-dev libgoogle-glog-dev liblmdb-dev swig3.0 graphviz libxslt-dev libxml2-dev gfortran python3-dev python-pip python3-pip python3-setuptools python3-markdown python3-pillow python3-yaml python3-pygraphviz python3-h5py python3-nose python3-lxml python3-matplotlib python3-numpy python3-protobuf python3-dateutil python3-skimage python3-scipy python3-six python3-networkx python3-tk

这一步需要花费一定的时间,如果在安装前已经将树莓派的软件源更换成国内的,速度会相对快一些,有时候也会出现一些包无法下载的错误提示,只需要重复执行上述指令,直到所有的依赖包都下载完成即可。

Step 2:下载ncsdk


mkdir workspace

cd workspace 

git clone https://github.com/movidius/ncsdk

Step3:编译安装ncsdk的api


cd ncsdk

cd api

cd src

make

sudo make install

如果前面的依赖包都安装正确,一般这两步不会出现错误。到此,ncsdk的纯api安装模式完成。

但为了验证我们下载的ncsdk是否可以在树莓派上正确使用,还需要以下步骤:

1.将神经计算棒插到树莓派上


cd workspace

git clone https://github.com/movidius/ncappzoo

cd ncappzoo/apps/hello_ncs_pypython3 hello_ncs.py

若出现如下提示,则说明神经计算棒可以在树莓派上正常开启关闭。


Hello NCS! Device opened normally.

Goodbye NCS! Device closed normally.

NCS device working.

接着利用官方教程的提示,将原先安装有ncsdk的ubuntu中,将/ncsdk/examples/caffe/GoogLeNet目录下的graph复制到树莓派的/ncappzoo/caffe/GoogLeNet/的目录下,并将/ncsdk/examples/data/ilsvrc12/中synset_words.txt复制到树莓派的ncappzoo/caffe/data/ilsvrc12/的目录下


树莓派+movidius神经计算棒环境搭建_第13张图片
image.png

树莓派+movidius神经计算棒环境搭建_第14张图片
image.png

接着调用image-classifier.py:


cd ncappzoo/apps/image-classifier

python3 image-classifier.py

程序运行如下:

树莓派+movidius神经计算棒环境搭建_第15张图片
image

则证明神经计算棒可以正常工作。

你可能感兴趣的:(树莓派+movidius神经计算棒环境搭建)