材料:
一个树莓派开发板
一张不小于16G的TF卡
一条网线
一个路由器
STEP 1
登陆树莓派的官方下载网站:https://www.raspberrypi.org/downloads/raspbian/,选择raspbian stretch with desktop的zip版本下载到本地电脑上,并解压。
STEP 2
到SD Memory Card Formatter的官方网站https://www.sdcard.org/downloads/formatter_4/下载SD Card Formatter,利用读卡器将TF卡插到电脑上。
点击下载好的SD Card Format,选择TF卡的盘符,点击Formatter,格式化TF卡。
STEP 3
百度下载win32diskimager等镜像烧制工具,点击打开win32diskimager,选择我们解压好的raspberry镜像,已经格式化的TF卡,点击Write,将镜像写入TF卡中。
当烧制完成之后,会弹出提示,点击OK即烧制完成。
注:烧制完成后文件资源管理器可能会弹出另外一个提示,请求是否格式化已经烧制好的TF卡,此时千万不能点击格式化磁盘,否则烧制的系统就用不了了,得重新进行step2和step3.
STEP 4
若有显示器和HDMI接口的数据线,就取下TF卡,插在树莓派上,连接显示器和树莓派,给树莓派插上电源,若显示器出现树莓派的桌面即烧制成功,但同时还要给树莓派接上usb的键盘和鼠标,才可以操作树莓派。至此,树莓派系统的烧制完成。可跳过STEP5和STEP6。
如果觉得太麻烦或者没有相应的硬件,则可以选择以下方法:
进入已经烧制好的系统的根目录,新建一个空文件ssh。
取下TF卡,插在树莓派上,给树莓派通上电源,若红灯常亮,黄灯闪烁,则证明树莓派系统已经烧制成功且已经开机启动,否则需要重新返回STEP2重新烧制。
STEP 5
用网线将树莓派和路由器连接起来。
在浏览器中输入192.168.1.1(不同的路由器可能不同),输入用户名和密码(用户名和密码都是admin)进入路由器管理页面,查看DHCP服务器的客户端列表,找到树莓派并记录其ip地址。
利用putty等ssh工具连接树莓派,即刚刚记录的ip地址。输入树莓派的默认名(pi)和密码(raspberry),连接树莓派。
输入
sudo raspi-config
选择5 Interfacing Options
选择p3 vnc,开启vnc
选择Finish,保存退出。
输入
vncserver
开启vnc服务,记录ip地址和端口。
访问vnc的官网https://www.realvnc.com/en/connect/download/viewer/下载对应操作系统的vnc viewer
打开vnc viewer,输入刚刚记录下的ip地址和端口,输入用户名(pi)和密码(raspberry),访问raspberry
出现如下窗口,则表示连接成功,可通过vnc viewer来操作树莓派。
二、为树莓派安装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/的目录下
接着调用image-classifier.py:
cd ncappzoo/apps/image-classifier
python3 image-classifier.py
程序运行如下:
则证明神经计算棒可以正常工作。