Jetson_nano环境配置

Posted cloudrivers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jetson_nano环境配置相关的知识,希望对你有一定的参考价值。

准备工作:写入系统镜像

准备microSD卡(32G以上),

  1. 官网下载系统镜像(Ubuntu 18.04LTS);

https://developer.nvidia.com/embedded/dlc/jetson-nano-dev-kit-sd-card-image

(2)下载镜像制作工具Etcher;

(3)傻瓜式操作,选择插入的microSD卡,然后点击“Flash!”,直到制作完成。

 

Note:SD卡烧录好后插入板中,需要连接键盘鼠标、hdmi接口显示器,网线;通电后系统自动启动,进行系统的初始配置,出现卡顿的话断电重启即可

可以使用USB或者DC电源供电

  1. USB充电器需要2A以上;
  2. 使用DC电源时需要将J48两个触点短接

相关内容可以到官网下载

https://developer.nvidia.com/embedded/downloads

 

1.修改环境变量

Jetson Nano利用官方镜像进行安装后,系统已经安装好了JetPack,cuda,cudaa,OpenCV等组件,需要修改下环境变量才可以使用。

利用gedit打开 ~ 路径下.bashrc文件:

sudo gedit ~./bashrc

文件的最后添加以下三行:

export PATH=/usr/local/cuda-10.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0

重新执行.bashrc文件,直接生效;

source ~./bashrc

输入nvcc -V命令进行测试,如果显示如下信息,证明修改正确。

nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2018 NVIDIA Corporation

Built on Sun_Sep_30_21:09:22_CDT_2018

Cuda compilation tools, release 10.0, V10.0.166

 

2.更改国内镜像源

在路径/etc/apt/下有source.list文件,

(1)对该文件进行复制备份;

sudo cp sources.list sources.list.bak

(2)使用vim或者gedit等工具对source.list文件进行编辑;

 

直接清空source.list文件内容,根据个人喜好选择下述中科大或者清华的arm64源,粘进文件,保存。(Note:ARM源和一般源不同,需要将地址中的ubuntu改为ubuntu-ports)

 

中科大

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe

deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe

deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe

deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe

deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

 

清华

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe

 

(3)更新

sudo apt-get update

‘‘‘如有需要,执行下述命令对文件进行升级‘‘‘

sudo apt-get upgrade

至此,完成系统更改源的操作,接下来就是配置整个系统的过程了。

 

3. 安装pip

因为Jetson Nano中已经安装了Python3.6版本,安装pip时会提示缺少setuptools工具,建议下载setuptools和pip的安装包直接安装

sudo apt-get install python3-pip python3-dev

安装后pip是9.01版本,需要把它升级到最新版,升级后pip版本为19.0.3。

python3 -m pip install --upgrade pip  #升级pip

这里面升级后会有一个小Bug,需要手动改一下(未验证,先保留)

sudo vim /usr/bin/pip3   #打开pip3文件

将原来的

from pip import main

if __name__ == ‘__main__‘:

    sys.exit(main())

改成

from pip import __main__

if __name__ == ‘__main__‘:

    sys.exit(__main__._main())

修改结束后保存。运行pip3 -V成功后显示

 

pip3 -V

pip 19.0.3 from /home/beckhans/.local/lib/python3.6/site-packages/pip (python 3.6)

 

 

4. 安装那些机器学习包

sudo apt-get install python3-scipy

sudo apt-get install python3-pandas

sudo apt-get install python3-sklearn

 这里面没有numpy和matplotlib,安装其它包时,这两个也会被自动安装。

 

出现numpy错误

>>> import tensorflow as tf

RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb

ImportError: numpy.core.multiarray failed to import

ImportError: numpy.core.umath failed to import

ImportError: numpy.core.umath failed to import

2019-05-02 10:29:02.103748: F tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr

Aborted (core dumped)

 

解决方法如下,numpy版本不匹配;(python3.6.8版本对应numpy1.16.1)

pip3 install -U numpy==1.16.1--user

 

5. 安装TensorFlow GPU版

 (1)确认CUDA已经被正常安装

nvcc -V

如果能看到CUDA版本号,即为正确安装

(2)安装所需要的包

sudo apt-get install python3-pip libhdf5-serial-dev hdf5-tools

(3)安装TensorFlow GPU版本 

pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.13.1+nv19.3 --user

百度网盘链接:https://pan.baidu.com/s/17Iq4XXfSR4CDDiQS6NAlOA  提取码:2fy3 (更改源后下载速度飞快,不用单独下载)

 

 

6. 安装Keras

既然有了TensorFlow,那就把Keras也安装上

sudo pip3 install keras

安装完成后,进入python3,检查一下安装成果,import keras时,下方提示using TensorFlow backend,就证明Keras安装成功并使用TensorFlow作为backend。

 

7. SSH远程连接nano

目前网上看到的资料都是将nano作为单独的电脑,进行远程连接来使用,在Ubuntu Host电脑上安装NVIDIA SDK Manager可以用来进行刷系统、安装相关软件的操作,下载地址:

https://developer.nvidia.com/embedded/jetpack

连接前提

  1. Nano必须先通过MicroSD卡成功启动进入Ubuntu界面
  2. 采用Micro USB链接Nano到Ubuntu Host
  3. Nano连接网线到外网,且与Ubuntu Host机器在同一局域网内

 

另外可通过SSH远程连接(如何与SOON平台连接还需补充)

jetson nano已经默认开启了openssh-server服务。可以通过xshell直接连

 

8. jetson inference介绍

NVIDIA提供了套教程,教程里包含了开发指南、TensorRT示例代码,甚至包括ImageNet和DetectNet示例在内的预先训练的网络模型,这个可以自行探索

https://github.com/dusty-nv/jetson-inference
 

使用TensorRT和Jetson相关的深度学习库;
https://developer.nvidia.com/embedded/twodaystoademo
 

以上是关于Jetson_nano环境配置的主要内容,如果未能解决你的问题,请参考以下文章

Vue多环境配置--切换生产环境、测试环境和开发环境

怎么配置java环境?

Anaconda多环境配置

米家App Config配置环境

Flask配置文件和环境变量:配置文件和环境变量的读取与调用

Mac下如何配置环境变量