在Jetson Nano (TX1/TX2)上使用Anaconda与PyTorch 1.1.0

(注意:以下内容只在Jetson Nano上尝试过,但理论上来说采用了相同架构, i.e. ARM A57,的TX1/TX2应该都可以,但AGX Xaiver不是很确定)

今天入手了一块Jetson Nano。心里幻想着能结合IoT做一些AI-based应用。

结果到手之后傻眼了——Jetson系列是基于aarch64 (Arm64)架构的。

这就意味着,很多工具包,如果没有专门为aarch64编译过,那么就需要自己手动编译甚至是彻底无法使用了。

比如大名鼎鼎的Anaconda。

Anaconda是一个包管理工具,这个工具的强大之处在于,甚至不止跨越了Python,还能在某种程度上完全隔离出一个底层环境。甚至是让很多原本会冲突的包共存。我们只需要用conda create -p /prefix/path 来指定在某个位置创建一个隔离环境,然后通过source activate /prefix/path 来激活这个环境,并且在这个环境下面可以随便折腾。比如装一个与操作系统默认版本不一致的python。玩儿坏了大不了就删掉重新建。

(强烈强烈强烈强烈不建议直接在系统自带的python环境下进行任何折腾!!一定要搞一个隔离环境折腾!!不然以后会有很多坑在等着你!!)

在日常Research和Development过程中,使用Anaconda的最佳实践就是:为一个框架,甚至专为一个项目创建一个隔离环境。

以上是使用“正常”的服务器时的经验。但是当拿到Jetson Nano之后,我感受到的第一个打击就是:Anaconda官方不支持aarch64架构。也就是说,你从官网用正规方法是无法成功把Anaconda安装在你的Jetson Nano上的。而没有了anaconda,想要安装PyTorch等框架就更加困难了!

不过怎么能这么容易就放弃!

经过一整晚Google、GitHub、Anaconda官网、PyTorch Community的摸爬滚打,最终我还是找到了解决方案。

方案:Archiconda
其实我很好奇,为啥不少package都有aarch64的架构,但Anaconda没有。于是我在conda的issue上翻,发现其实有一个叫做“Archiconda”的项目。其目的就是将conda移植到aarch64平台上。尤其是它包括了conda这个命令工具!

而且这个项目貌似还是挺活跃的,偶有更新,应该还没死。可以直接在这里下载安装包:

Archiconda/build-tools

下载之后就和普通的anaconda一模一样。直接执行安装,会装一个基本的环境。但真正用的时候还是会conda create -p /prefix/path这样创建环境,然后source activate /prefix/path激活并使用,也就是通常所说的最佳实践。

其实看一下这个项目的介绍就会发现,当用conda install时,所安装的package只会考虑conda-forge, c4aarch64等几个特定的channel。如果这些channel都没有的话,用conda install仍然是装不上的。(但还可以用pip从源码编译安装呀)。

PyTorch 1.1.0 on Jetson !
最让人头疼的Anaconda安装问题解决了!而直接影响生产力的问题就是:如何在Jetson上安装PyTorch。

http://PyTorch.org官方推荐使用anaconda安装。然而整个Anaconda Repository上压根就没有aarch64架构的PyTorch预编译包。

但Google之后就发现,nvidia官方还是很良心的,放出了一个官方编译过的二进制包,直接pip install xxx.whl即可安装。具体的方法看官方的这个链接:

PyTorch for Jetson Nano

至此,我们所需要的准备工作就完成了。后面我会更新更多关于如何折腾Jetson的文章(比如如何把系统装在外置SSD中而不用忍受SD卡的速度?比如如何扩展更多的swap分区避免Jetson Nano 4G的内存爆掉等等),欢迎各位驻足交流。

参考资料

[1] GitHub Issue: Add support for the linux-aarch64 platform

[2] GitHub: Maxiconda example

[3] GitHub: Archiconda

[4] PyTorch for Jetson Nano

在jetson nano上安装anaconda相关推荐

  1. 5菜鸟教程_【菜鸟手册7】如何在NVIDIA Jetson平台上安装Anaconda

    Anaconda是用于科学计算(数据科学.机器学习应用.大规模数据处理.预测分析等)的Python和R编程语言的一个自由和开源的发行版,旨在简化包管理和部署.像Virtualenv一样,Anacond ...

  2. linux或Jetson nano上安装torchvision或安装pillow报错:The headers or library files could not be found for jpeg

    1 错误分析 我在Jetson nano上安装torchvision的时候报错(torchvision依赖pillow库):The headers or library files could not ...

  3. 在Jetson Nano上安装RTL8821cu驱动

    在Jetson Nano上安装RTL8821cu驱动 下载该芯片的驱动 编译 网卡模式转换 Jetson Nano没有自带无线网卡,我用的是USB无线网卡,而且还是TP-Link的TL-WDN5200 ...

  4. 在jetson nano上安装ROS melodic

    Jetson nano的镜像使用的是Ubuntu18.04 LTS (绰号Bionic),因此在jetson nano上安装ROS得选择Melodic版,但是因为jetson nano使用的是ARM6 ...

  5. 【MindSpore易点通·漫游世界】在Jetson Nano上安装MindSpore 1.6.0 CPU版

    尽管在官网,MindSpore没有CUDA10的aarch64版本.(注:当时时刻为2022年2月) 只有aarch的CPU版本: Python的版本也只有3.6.9.但是作为昇思开发者的张小白,仍然 ...

  6. 在Jetson Nano上安装numba

    按前辈的教程装了llvm10.0 安装llvmlite报错 /usr/bin/ld: cannot find -ltinfo tinfo的库文件 libtinfo-dev 官网上不提供对arm64的包 ...

  7. jetson nano包安装

    https://github.com/Angzz/DeformableV2/blob/master/docs/install/install-jetson.md nano 上安装 anaconda n ...

  8. NVIDIA Jetson Nano B01 安装Ubuntu 18.04.3 LTS

    几乎完美安装! NVIDIA Jetson Nano B01 Ubuntu 18.04.3 LTS 的 ROS 安装和菜鸟的踩坑记录 NVIDIA Jetson Nano B01技术规格 Ubuntu ...

  9. mac要装anaconda吗_在Mac OS X上安装Anaconda

    本文概述 Anaconda是一个程序包管理器, 一个环境管理器和一个Python发行版, 其中包含许多开源程序包的集合. Anaconda的安装附带许多软件包, 例如numpy, scikit-lea ...

  10. 在 jetson nano 上构建 isaac SDK 示例时出错:JetPack43 未在任何 .rc 文件中定义

    运行 isaac sdk 示例脚本 ( https://docs.nvidia.com/isaac/isaac/doc/tutorials/nano.html ) 时出现错误: sudo ./engi ...

最新文章

  1. 【青少年编程】【三级】病毒传染模拟程序
  2. hdu 1796 How many integers can you find 容斥定理
  3. uploadify控制 上传图片到百度云存储
  4. 根据坐标点鼠标 不移动_CAD移动鼠标时,鼠标右下角有坐标提示,怎么取消?...
  5. javaweb学习总结(四十三)——Filter高级开发
  6. 修复版GEP宝塔内嵌版全解源码
  7. 格式notepad自动对齐_6.2 对齐设置
  8. 梯度,散度,旋度的理解
  9. CA系统(概念、结构和功能)和CA证书
  10. 浅谈MES系统追溯功能五大关键作用
  11. Unity-Live2d(表情系统,姿势动作与口型功能的实现)
  12. 51单片机c语言16进制数转换10进制数,51单片机C语言里 怎样将16进制 直接化成 10进制...
  13. 前端“Wed, 22 Sep 2021 15:48:33 GMT“时间转换成“2021-09-22 15:48:33
  14. scrapy——抓取知乎
  15. 卷积的数学理解和图像处理
  16. 考试提交答案后台代码
  17. 21天学通C语言-学习笔记(3)
  18. 【嵌入式开发板】迅为iTOP-4412开发板板及资料介绍
  19. PHP登录成功显示头像,实现WordPress评论框显示已登录用户头像
  20. Android app 去除顶部蓝色导航栏(Action Bar

热门文章

  1. 2021-05-27_JAVA_集合
  2. 数据库第八次作业-复习作业(工厂项目)【带源码】
  3. Realrek 2.5G交换机 8+1万兆光RTL8373-VB-CG方案简介
  4. CodeQL的自动化代码审计之路(上篇)
  5. iOS 11 IPhoneX 适配不得不说的一些事儿
  6. 植物神经紊乱有哪些危害?植物神经紊乱的六种治疗方法。
  7. 玄子BCSP-MySQL 5.7.40 压缩包安装教程(含下载链接)
  8. 动态数据模型分析与应用
  9. 4、android 调用MediaRecorder录制视频,图库中找不到保存视频
  10. P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers