准备工作:写入系统镜像 准备microSD卡(32G以上), 官网下载系统镜像(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电源供电 USB充电器需要2A以上; 使用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 连接前提: Nano必须先通过MicroSD卡成功启动进入Ubuntu界面 采用Micro USB链接Nano到Ubuntu Host 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