从零制作Jetbot镜像
喜欢折腾的小伙伴可以尝试跟着这篇帖子从零制作一个jetson镜像。玩jetson要远比小喵家产品或树莓派烧钱,大家要准备足够的预算~
以下所有文档来自于Nv官方,如有变动以官方的为准: https://github.com/NVIDIA-AI-IOT/jetbot/wiki/Create-SD-Card-Image-From-Scratch
NUMPY安装
在命令行下依次运行以下命令,除了最后numpy需要重新编译一堆东西耗时比较长外,其他应该没毛病~
sudoapt-getupdatesudoaptinstallpython3-pippython3-pilsudopip3install--upgradenumpy
SDK和tensorflow的安装
首先我们来安装Nv的SDK Manager 当前面的numpy安装完后,我们需要安装对应的sdk。jetson nano的ubuntu安装完后桌面有一个developer zone的快捷链接,在chromium打开后找到download那个按钮进入下载链接。
https://developer.nvidia.com/embedded/downloads
找到Nvidia SDK Manager并且点击下载,默认下载到 ~/Downloads 目录。
下载完成后使用命令行安装:
cd~/Downloadssudoaptinstall./sdkmanager....
第二行的....请自行用tab补完。
接下来安装各种python3依赖的库
sudoapt-getinstalllibhdf5-serial-devhdf5-tools
安装pip3
sudoapt-getinstallpython3-pip
安装下面的库
pip3install-Upipsudoapt-getinstallzlib1g-devziplibjpeg8-devlibhdf5-devsudopip3install-Unumpygrpcioabsl-pypy-cpuinfopsutilportpickergrpciosixmockrequestsgasth5pyastortermcolor
上面最后一条命令如果大家碰到跟我一样的运行pip就报错:cannot import name 'main',那么多半是跟系统自带的pip冲突了,这时候需要删除系统pip再重新安装pip3。运行以下命令:
sudopython3-mpipuninstallpip&&sudoaptinstallpython3-pip--reinstall
之后就漫长的升级过程 ,部分库更新需要重新编译会导致ubuntu卡顿,大家这时候可以去干点别的等大概半个小时再回来~
tensorflow安装
安装tensorflow的准备工作就结束了,下面正式安装tensorflow。注意命令中比官方教程多了--no-cache-dir,这是因为ubuntu镜像中pip配置已经过时了。
pip3install--no-cache-dir--pre--extra-index-urlhttps://developer.download.nvidia.com/compute/redist/jp/v42tensorflow-gpu
接下来又是漫长的下载和安装过程,大家可以去干些别的,等半个小时再回来~
安装完成后大家可以测试下tensorflow是否安装成功,注意是python3:
python3>>>importtensorflow
如果 import没报错,那么就安装ok了 ~
安装pytorch
由于大部分同学访问不了google drive,这里将官方预编译好的pytorch wheel包放到百度盘:
链接: https://pan.baidu.com/s/1wMHLauajtYvc_MBDiQwt_g 提取码: tg1i
通过u盘或其他手段考到jetson nano某个目录下,进到这个目录运行以下命令:
sudopip3installtorch-1.0.0a0+18eef1d-cp36-cp36m-linux_aarch64.whlsudopip3installtorchvision
安装traitlets
sudopython3-mpipinstallgit+https://github.com/ipython/traitlets@master
最后我们还需要安装玩机器学习不可或缺的 jupyter 记事本,最后一行是启动jupyter服务器,一切正常的话会在浏览器弹出jupyter记事本
sudoaptinstallnodejsnpmsudopip3installjupyterjupyterlabsudojupyterlabextensioninstall@jupyter-widgets/jupyterlab-managersudojupyterlabextensioninstall@jupyterlab/statusbarjupyterlab--generate-configjupyternotebook
安装jetbot项目
弄了这么久我们只是在为jetbot项目准备开发环境,接下来才是主线任务~
cdsudoaptinstallpython3-smbusgitclonehttps://github.com/NVIDIA-AI-IOT/jetbotcdjetbotsudoapt-getinstallcmakesudopython3setup.pyinstall
接下来我们将jetbot做成一系列系统服务:
cdjetbot/utilspython3create_stats_service.pysudomvjetbot_stats.service/etc/systemd/system/jetbot_stats.servicesudosystemctlenablejetbot_statssudosystemctlstartjetbot_statspython3create_jupyter_service.pysudomvjetbot_jupyter.service/etc/systemd/system/jetbot_jupyter.servicesudosystemctlenablejetbot_jupytersudosystemctlstartjetbot_jupyter
在tf卡建立交换区 swapfile
sudofallocate-l4G/var/swapfilesudochmod600/var/swapfilesudomkswap/var/swapfilesudoswapon/var/swapfilesudobash-c'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
最后将jetbot的notebook拷贝到用户根目录下就完成了
cp-r~/jetbot/notebooks~/Notebooks
Previous