准備工作:寫入系統鏡像 准備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