原作 Interogativ 

郭一璞 编译 

量子位 报道 | 公众号 QbitAI

英伟达Jetson Nano,作为老黄家最便宜的硬件,只要99美元。

看到便宜就想捡,拿到手里怎么玩?

造机器人、造小车、在家里DIY一个语音控制的窗帘,都得先装轮子。

如果你使用的框架是PyTorch,那你最好再装一个Fast.ai。

Fast.ai是在PyTorch上非常好用的深度学习库,来自MOOC平台Fast.ai,只要一个API,就包含了所有常见的深度学习应用。

那么,拿到Jetson Nano之后,如何把轮子部署上去呢?一位名叫Interogativ的用户就把用它运行PyTorch 1.0和Fast.ai 1.0的攻略发在了Fast.ai的论坛上,量子位全文编译如下:

英伟达Jetson Nano,配备了ARM Cortex A57处理器和4G内存,CUDA和PyTorch两者都可以在上面运行,这块开发板有难以置信的价值。

当然,你也可以用它来运行截至2019年4月最新最好的PyTorch和Fast.ai版本,这里是攻略。本攻略仅适用于Python 3,如果你没有Linux经验,不知道如何使用SSH,不知道IP网络的原理或者IP地址是什么,不建议用本攻略来安装。

软硬件准备

1、花99美元买一块英伟达Jetson Nano,现在国内已经可以买到了,当然,价格会比99美元(665人民币)要贵一点。

2、一张64G的Micro SD卡,确保它是class 10或者更高级别。

 SD卡速度等级,来自SD协会网站

3、USB键盘,就台式机上那种。

4、2.5Amp电源线,带一个Micro-USB插头。

5、一个HDMI或者DisplayPort连接线显示器

6、连网:以太网网线,无线路由器或者HUB,这块板子没有本机无线支持,所以请确保你能用有线网络

7、能插Micro SD卡的PC,不能插SD卡的话你还需要准备读卡器。

8、可以创建SSH终端的PC软件,以及可以使用SSH传输文件的软件。如果你用Windows的话,我推荐Tera Term(免费)和WinSCP(免费),下载链接在文末。

9、把这些zip文件下载到你的PC上,下载链接请参见文末传送门。里面有作者Interogativ写的脚本,包括:

setup_swapfile.sh
fastai_jetson.sh
setup_jupyter.sh
jetson_headless.sh
jupyter_notebook_config.py

当然,得记住你的存储路径。

可以开箱啦

你的新板子到货之后,无视里面自带的纸架,找一些防静电的泡沫塑料,其他的防静电的材料也行,把你的板子放上去。

去文末传送门里复制英伟达开发者网站Jetson Nano开发套件指南的链接到浏览器打开,按照里面写的一步一步操作,确保:

1、下载带有SD卡映像的Nvidia zip文件。

2、按照说明把这些文件装到SD卡里。

3、将SD卡插入Nano,插上USB键盘、显示器和网线。

4、开机,接受各种许可协议之类的。

5、设置用户名密码,别忘了。

联网之后

1、在网络设置里找到你Nano的IPV4地址,记下来,或者如果你懂IP网络的话,设置一个固定的IP地址。

2、用PC终端程序打开与Jetson Nano的SSH会话。

3、用文件传输软件把之前下载的zip文件传到Nano的用户主目录下。

4、通过SSH把你的PS和Nano的IP地址连起来。

5、从控制台或通过SSH连接,为刚刚下载的脚本设置执行权限:

1chmod +x fastai_jetson.sh
2chmod +x jetson_headless.sh
3chmod +x setup_swapfile.sh
4chmod +x setup_jupyter.sh

设置交换文件

Nano只有4GB的RAM(GPU共享),你需要设置一个交换文件,如果已经有了就跳过此步骤。你可以从终端会话中运行setup_swapfile.sh:

./setup_swapfile.sh

确保这一步只进行一次,因为脚本里没写检查是否已设置,你可以执行以下操作检查是否设置了交换文件:

free

这时候你就应该看到创建了一个8GB的交换文件。

安装PyTorch和Fast.ai

如果这会儿你就想安装标准的Fast.ai和PyTorch,那就装吧,反正装不上。

这会儿,标准的pip命令根本没法用,但是如果你只是运行fastai_jetson.sh脚本,就可以把俩都装上。这个过程需要几个小时,所以不用屏住呼吸。

./fastai_jetson.sh

安装Jupyter笔记本

安装好Fast.ai后,它会告诉你:

Done with part1 – now logout, login again and run setup_jupyter.sh

这是因为Jupyter安装不会导出运行所需的shell变量。所以现在,关闭所有终端、SSH会话等,从图形界面重启Nano。重启完了就从图形界面打开终端,然后:

1、确保您下载的jupyter_notebook_config.py文件位于Nano的主目录中。

2、运行./setup_jupyter.sh。

./setup_jupyter.sh

这也得一阵儿,所以这里也不用屏住呼吸。

此脚本的最后一步需要Jupyter密码,记住:

不是Jupyter登录密码!
不是Jupyter登录密码!
不是Jupyter登录密码!

就是设置一个单独的密码,你可以用这个密码在你网络上的任何PC上登录Jupyter笔记本,设置好密码后记住它。

默认的Jupyter笔记本安装只能从控制台或图形界面登录,之前下载的修改后的jupyter_notebook_config.py文件和脚本安装可以从你网络上的任何计算机登录。

运行Jupyter笔记本的话,需要打开终端或SSH实例并运行:

jupyter notebook

如果它没有运行,可能是因为你没有退出后再次登录。

好了,现在你可以运行PyTorch和Fast.ai了。

但如果你像我一样,你不需要在Nano上使用图形界面,并且想把所有内存都拿来跑程序的话,就接着往下看。

关于Python,Pip和VirtualEnv

一些有经验的Python用户习惯于虚拟环境(virtualenv,conda),它要求您在安装或运行软件之前激活“source activate”,我们现在还没安装,其中一个副作用是pip和Python命令将在活动环境中自动运行Python 3或pip 3。

你必须用pip3和Python3分别运行pip和Python。因此,如果你正在运行一些使用!python xyz的笔记本,除非你将代码更改为!python3 xyz,否则它将无效。

存储空间不是一切,但绝对非常重要:

过去,比如说2010年,4GB的内存很大。如果不在这块板子上跑GPU,那就足以让笔记本电脑运行良好(8 GB的交换文件有很大帮助)。但是你要想跑CUDA,那就没法在交换磁盘上运行,因此它占满了4GB的每个字节。

所以,为了省下一些存储空间,放弃图形界面吧,通过SSH用远程控制台操作。

现在,如果你准备好了,就找到最后一个脚本jetson_headless.sh,运行它,卸载图形界面,还能顺带清除300多M的不必要的软件包。

运行之后,重新启动,你就能拥有Nano控制台访问权限,现在机器只占用了大约378M的内存,留下了3.6G左右的空间可以运行PyTorch和Fast.ai。

1、运行

./jetson_headless.sh

2、重启,用SSH连接Nano。

最后说明一下,本文发布的2019年4月,这种方法是可以安装PyTorch 1.0和Fast.ai 1.0的,如果以后版本更新了或者需要装别的东西,欢迎去原文git repo~

传送门

攻略原文:
https://forums.fast.ai/t/share-your-work-here/27676/1274

Tera Term
https://ttssh2.osdn.jp/index.html.en

WinSCP
https://winscp.net/eng/docs/lang:chs

zip文件下载链接:
https://gist.github.com/interogativ/4f5669dad3f9252a5709dc6844e12a29/archive/50845f5e9e8994eec78a4b27c6f23e4822ba00d7.zip

英伟达开发者网站Jetson Nano开发套件指南
https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit

活动报名|多模态视频人物识别

订阅AI内参,获取AI行业资讯

加入社群

量子位AI社群开始招募啦,量子位社群分:AI讨论群、AI+行业群、AI技术群;

欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“微信群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「好看」吧 !

用英伟达Jetson Nano运行PyTorch Fast.ai丨手把手教程+第三方工具相关推荐

  1. 边缘深度学习设备基准评测:英伟达Jetson Nano胜出

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载. 选自tryolabs.com 作者:Juan Pablo  机器之 ...

  2. 英伟达 Jetson Nano 新手必备:使用CSI或USB摄像头拍摄第一张照片

    英伟达 Jetson Nano 新手必备:使用CSI或USB摄像头拍摄第一张照片 1. 引言 1.1 支持的摄像头 1.2 nvgstcapture 2. 在屏幕上开始捕获和预览显示 2.1 CSI摄 ...

  3. 关于英伟达jetson nano的搭配双目摄像头跑ORB_SLAM2

    1.安装系统 按照商家给的资料安装,将Ubuntu18.04LTS镜像拷贝到tf卡中,插上jetson nano就可以安装了. 2.系统设置 进入系统我先把系统语言设置为中文,在右上角的设置中找到系统 ...

  4. 英伟达Jetson Nano安装

    英伟达Jetson Nano安装 简介 板子说明 SD卡安装系统 运行 总结 简介 NVIDIA® Jetson Nano™ 开发者套件是一款专为创客.学习者和开发者打造的小型 AI 计算机.学习此简 ...

  5. 英伟达Jetson Nano的初步了解

    前言:跑对比实验需要不同平台,所以需要采购一个Jetson nano,但看了一下有许多版本,不太了解,故简单调研一下. 采购平台:Jetson Nano B01 Jetson Nano b01国产开发 ...

  6. 英伟达 Jetson Nano 新手必备:连接蓝牙音频

    英伟达 Jetson Nano 新手必备:连接蓝牙音频 1. 介绍 2. 蓝牙适配器要求 3. 连接蓝牙音频 1. 介绍 Jetson Nano 2GB开发工具包没有内置蓝牙.为了将蓝牙音频设备连接到 ...

  7. 树莓派4与英伟达Jetson Nano性能大比拼,谁是最佳的嵌入式“电脑”?

    作者 | Chris Pietschmann 译者 | 弯月,责编 | 屠敏 转载自CSDN(ID:CSDNnews) 导读:日前,Raspberry 基金会发布了开发者为之兴奋的 Raspberry ...

  8. 树莓派 4 与英伟达 Jetson Nano 性能大比拼,谁是最佳的嵌入式“电脑”?

    日前,Raspberry 基金会发布了开发者为之兴奋的 Raspberry Pi 4,其不仅在性能上进行了全面的升级,而且价格也继续与旧版保持一致,仅为 35 美元起.那么这一款嵌入式开发板和极客们常 ...

  9. 英伟达jetson NANO开箱

    近日有幸拿到一块jetson NANO来学习学习,就先简单的写一写这块板子的开箱和刷机过程. 拆开的盒子不要扔,放上里面送的纸基座还能给板子当个底座,如果买了外壳的话当我没说. 下载烧写镜像 接下来就 ...

最新文章

  1. jquery选择器 之 获取父级元素、同级元素、子元素
  2. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...
  3. 过年回家抢票不求人,试试这个开源抢票神器吧!
  4. 【设计模式】责任链模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  5. Cross_validation.train_test_split 中 stratify这个参数的意义是什么?
  6. 旅行商问题动态规划matlab,旅行商问题的解法
  7. ssh服务、密钥登陆配置
  8. Linux命令之查找
  9. linux g++ undefined reference to `dlopen'类问题
  10. 树莓派 烧录arm64架构centos7
  11. DeepEarth自定义图元的中心位置纠偏
  12. JavaEE平台学习之 01开发第一个Servlet程序
  13. 卷积神经网络 第三周作业:Residual+Networks+-+v1
  14. 计算机图形学完整笔记(二):光栅图形学算法
  15. 软考 - 网络工程师考试大纲
  16. 洛谷P3709 大爷的字符串题 莫队
  17. 硬盘异响(嗑啦嗑啦)的可能原因
  18. 计算机有关英语单词以及谐音,英语单词中文谐音大全
  19. 【超详细】Windows平台安装 apache 2.4
  20. Apollo星火计划学习笔记——第一讲 使用Apollo学习自动驾驶

热门文章

  1. 京东金融 App 收集隐私?开源库程序员不背锅!
  2. 这才是 Python 的 “72 变”玩法!
  3. 动荡的 Java 今年将有哪些新变化?
  4. 一个戏精程序员的内心独白...
  5. 数据结构与算法 完整版双链表
  6. 网络编程之 哈希表原理讲解 来自老司机的源码
  7. 第 8 章 建造者模式
  8. linux进程磁盘io监测,系统性能检测--磁盘io
  9. java reset_void reset()
  10. 怎么添加本地音乐_原来手机点击这个按钮,就能一键生成音乐电子相册!这也太厉害了...