Jetson Nano配置踩坑全记录


Jetson Nano相关参数:JetPack 4.6,cuda 10.2, SD卡内存:512G

一、Jetson Nano系统镜像烧录

  • 在Nvidia官网下载Jetson Nano的系统镜像: https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit%23write
  • 在Ubuntu PC上使用SD烧录软件Etcher将下载的image烧录至SD卡(SD卡内存推荐大点的,不然会出现内存不够用的情况)
  • 给Jetson Nano连接键盘、鼠标,上电并启动,在Ubuntu系统设置界面语言选择中文,选择英文键盘布局,其余默认,完成后进入Ubuntu系统

二、Ubuntu系统设置

  • 将Ubuntu系统中的中文文件夹更名为英文,打开终端,在终端输入以下命令:

$ export LANG=en_US $ xdg-user-dirs-gtk-update

跳出对话框询问是否将目录转化为英文路径,同意并关闭

$ export LANG=zh_CN

重启系统,会提示是否把改名的目录改回中文,勾选不再提示,并选择Keep Old Name

  • 更新Ubuntu系统

$ sudo apt-get update

$ sudo apt-get upgrade

  • 若需要节省空间,可以将内置的Libre Office卸载:

$ sudo apt-get purge libreoffice*

$ sudo apt-get clean

  • 更换apt源为国内源(可选)

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

$ sudo gedit /etc/apt/sources.list

将文件内容清空,输入以下内容:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe

  • 更换python版本

Jetson Nano默认python版本为2.7,需要更换为3.x; 安装python3.8,并将3.6设为默认python版本,3.8作为备用切换(最后的数字越大,优先级越高)(先使用which python3.x确定安装位置)

$ sudo apt-get install python3.8
$ update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
$ update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
$ sudo apt-get install python3-pip python3-dev
$ python3 -m pip install --upgrade pip

  • 终端调节pwm风扇转速

打开风扇(最大风速):

$ sudo sh -c ‘echo 255 > /sys/devices/pwm-fan/target_pwm’

关闭风扇:
$ sudo sh -c ‘echo 0 > /sys/devices/pwm-fan/target_pwm’

改变风扇转速: 更改echo后的值即可,范围1-255(越大转速越快)

  • cuda配置

$ sudo gedit ~/.bashrc

在文件末尾添加以下路径:
export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH

$ source ~/.bashrc

查看cuda版本:
$ nvcc -V

  • locate安装和使用

$ sudo apt-get install locate

更新数据库

$ sudo updatedb

若更新数据库提示 /usr/bin/find: ‘/run/user/1000/gvfs’: Permission denied /usr/bin/find: ‘/run/user/120/gvfs’ : Permission denied
$ sudo umount /run/user/1000/gvfs
$ sudo umount /run/user/120/gvfs
$ sudo rm -rf /run/user/1000/gvfs
$ sudo rm -rf /run/user/120/gvfs

  • 查找某个文件位置

$ sudo find / -name ***

  • 安装中文输入法

搜狗输入法不支持arm64架构,因此安装谷歌拼音,具体步骤为:

1、打开系统设置;
2、选择语言支持;
3、提示语言支持没有安装完整,点击安装;
4、在终端输入:
$ sudo apt-get install fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin-y
5、在语言支持-语言-键盘输入法系统选择fctix,重启生效
6、重启后,在系统桌面的右上角点击当前输入法的配置,对fcitx的输入法进行配置,添加已安装的googlepinyin
若配置完输入法没有候选框,在终端输入以下指令,再重启即可
$ sudo fcitx-module-kimpanel

  • 安装软件提示:因为未安装apt-utils,所以软件包的设定过程将被推迟

$ sudo apt-get install apt-utils

  • Unity Tweak Tool打开提示com.canonical.indicator.appmenu.hud In order to work properly,Unity Tweak Tool recommends you install the necessary packages

$ sudo apt-get install indicator-appmenu

$ sudo apt-get install hud

三、软件安装

  • 安装VS Code

$ sudo apt-get install curl $ curl -L https://github.com/toolboc/vscode/releases/download/1.32.3/code-oss_1.32.3-arm64.deb -o code-oss_1.32.3-arm64.deb $ sudo dpkg -i code-oss_1.32.3-arm64.deb

  • 安装anaconda

由于anaconda不支持arm64,所以安装大神编译好的Archiconda,Archiconda是用于64位ARM平台的Conda发行版,从 https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh下载,进入下载的文件夹,在终端执行:

$ sudo sh Archiconda3-0.2.3-Linux-aarch64.sh

最后设置是否将路径写入.bashrc,键入yes,提示Thank you for installing Archicinda3!表明安装成功,再执行
$ source ~/.bashrc

  • 安装PyCharm

从 https://www.jetbrains.com/pycharm/download/#section=linux下载pycharm压缩文件,再进入下载文件夹,进入bin,打开终端执行 $ sh pycharm.sh

提示:No JRE Found. Please make sure $PYCHARM_JDK, $JDK_HOME, or $JAVA_HOME point to valid JRE installation.时在终端执行
$ sudo apt-get install default-jdk

提示:Failed to load module “canberra-gtk-module”
$ sudo apt-get install libcanberra-gtk-module

为PyCharm创建桌面图标

$ cd /usr/share/applications
$ sudo gedit pycharm.desktop

[Desktop Entry]
Version=1.0
Type=Application
Name=Pycharm
Icon=/home/academy/software/pycharm-community-2021.3.3/bin/pycharm.png
Exec=/home/academy/software/pycharm-community-2021.3.3/bin/pycharm.sh
MimeType=application/x-py;
Name[en_US]=pycharm

完成后保存即可在软件中找到PyCharm
  • 安装qt和pyqt5

$ sudo apt-get isntall qttools5-dev-tools

$ sudo apt-get install qt5-default qtcreator -y

安装完成后,在终端执行以下指令,打开Qt designer:
$ designer

接着安装pyqt5

$ sudo apt-get install pyqt5-dev-tools
$ sudo apt-get install python3-pyqt5.*

四、其他问题

  • conda创建环境提示NotWritableError:The Current user does not have permissions to a required path

用户没有对archiconda的读写权限,执行以下命令:

$ sudo chomd 777 -R /home/academy/archiconda3

  • conda创建名为python36的虚拟环境,python版本为3.6

$ conda create -n python36 python=3.6

  • 安装pytorch, torchvision

由于pytorch针对arm64架构只有cpu版本,nvidia官方提供了arm64版本的pytorch和torch vision,目前已经支持pytorch 1.10.0,但是要求python版本为3.6;pytorch 1.10.0对应的torchvision版本为0.11.1,具体参见https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-10-now-available/72048

$ wget https://nvidia.box.com/shared/static/fjtbno0vpo676a25cgvuqc1wty0fkkg6.whl -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl
$ sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
$ pip3 install Cython
$ pip3 install numpy torch-1.10.0-cp36-cp36m-linux_aarch64.whl

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
$ pip install torchvision==0.11.1

  • Pycharm提示 Error:"Process finished with exit code 132 (interrupted by signal 4: SIGLL)" 或终端运行有关pytorch的python文件提示”非法指令(核心已转储)“

一开始,我安装的pytorch版本是1.10,根据网上的教程,我将pytorch版本降低到1.6,但还是不行, 今天看到一篇帖子得到启发,可能不是pytorch的原因,原因可能在numpy这里,于是,我将numpy的版本从1.17(安装其他包时自动安装的)降到1.13,于是问题解决!

$ pip uninstall numpy
$ pip install numpy==1.13

  • Pycharm提示 Error:"Process finished with exit code 137 (interrupted by signal 4: SIGLL)"

在大多数情况下,是由过多的内存使用引起。可以尝试使用小型的数据集或将数据集切分多块进行训练;batch_size设置的尽量小

  • Pycharm配置qt、pyqt5

打开Pycharm,点击File-->Setting-->Tools-->External Tools

点击“+”号,分别进行如下设置:
Name:Qt
Program:/usr/lib/aarch64-linux-gpu/qt5/plugins/designer
Arguments:
Working directory: $FileDir$

Name:PyUIC
Program:Python的安装路径
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$

在使用qt完成界面设计后,保存为.ui文件,可在Pycharm项目中右击该文件,选择Qt->PyUIC,程序会自动生成同名ui文件的python编译文件,在生成的py文件末尾加上以下代码,再运行,即可实现在qt designer中一样的界面效果(根据qt中选择的不同,可能需要将MainWIndow更换成Widget、Form等)

from PyQt5.QtWidgets import QMainWindow,QApplication
import sys

if __name__ == ‘__main__’:
app = QApplication(sys.argv)
window = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())

文章同步在我的博客: https://www.isfd.cc/index.php/2022/04/07/jetson-nano配置全记录


Jetson Nano配置踩坑全记录相关推荐

  1. vue在微信里面的兼容问题_详解Vue微信公众号开发踩坑全记录

    本文介绍了Vue微信公众号开发踩坑全记录,分享给大家,也给自己留个笔记. 需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分 ...

  2. linux ubuntu安装pytorch(深度学习环境搭建记录,无sudo权限)踩坑全记录

    一些牢骚:深度学习没怎么学习几次,搭建环境已经把我搞秃了哈哈哈. 之前在网上找到的搭建环境的步骤,我没有root权限,很多操作都不行(比如运行.run文件,cuda 和cudnn的安装和修改也需要ro ...

  3. HyperLPR 开源车牌识别系统搭建踩坑全记录

    (介绍略) 一个开源的车牌识别系统. github地址:https://github.com/szad670401/HyperLPR 一.下载 git clone https://github.com ...

  4. g++ linux 编译开栈_方舟编译器编译hello world踩坑全记录

    闲来无事,看到方舟编译器完整开源,于是打算拿来试着编译一个东西来,接下来把踩过的一些坑记录一下. 参考文档 方舟编译器的官网是 OpenArkCompiler​www.openarkcompiler. ...

  5. VNPY回测踩坑全记录

    自从用上VNPY,我就感觉永无宁日,这坑多的,我感觉都快把地球挖穿了,我把我遇到的坑写一下吧,希望大家以后别踩到. 安装VN Studio 这是官方推荐的傻瓜式按照,相当于把VNPY变成一个软件包,一 ...

  6. storm mysql spout_storm kafkaSpout 踩坑问题记录! offset问题!

    整合kafka和storm例子网上很多,自行查找 问题描述: kafka是之前早就搭建好的,新建的storm集群要消费kafka的主题,由于kafka中已经记录了很多消息,storm消费时从最开始消费 ...

  7. ZED2代相机+nvidia jetson AGX xavier踩坑记录

    ZED2代相机+nvidia jetson AGX xavier踩坑记录 项目描述 nvidia jetson AGX xavier就不详细介绍了,jetson系列嵌入式开发板比一般的arrch64开 ...

  8. Mirai qq机器人ubuntu配置踩坑记录

    Mirai qq机器人ubuntu配置踩坑记录 intellij配置 打包jar ubuntu无界面运行 Mirai GitHub 链接 mirai-github intellij配置 我的是Ulti ...

  9. 首次使用windows10安装DB2_10.5数据库踩坑全教程,附加问题解决目录思路汇总

    新入职的IBM,需要安装IBM的数据库DB2,搞了两天踩坑全教程,下面是踩坑说明. DB2是IBM的数据库,官网说明是这个网址: IBM DocsIBM Documentation.https://w ...

最新文章

  1. Opencv java模板匹配-角点检测(11)
  2. Web开发领域最热门的话题之混搭
  3. Google开源新TensorFlow运行时TFRT,将取代现有进行时
  4. [转]Format a ui-grid grid column as currency
  5. python定义一个字典并遍历字典中的键和值_python字典操作总结
  6. Spark的Yarn模式及其案例
  7. 廖Python学习笔记一
  8. 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用
  9. 笨办法学 Python · 续 引言
  10. svn提交代码失败提示清理(清理失败并且报错信息乱码解决办法)
  11. spymemcached 的 useNagle 问题与 TCP/IP延迟发送数据
  12. uva 11762 数学期望+记忆化搜索
  13. 比较好的电脑系统_如何重装平板电脑系统?各种Windows系统平板win8升级win10方法...
  14. mysql存储图片特征向量_图像特征提取之(一)HOG特征
  15. win7开机密码_win7忘记开机密码怎样才能打开电脑?别再用那些错误的方法了
  16. v4l2loopback 简介
  17. dns解析失败故障问题解决两例
  18. 苹果服务器关闭微信,为什么苹果手机关闭微信也能收到消息?这就是国内安卓耗电高的原因...
  19. 如何用 js 获取虚拟键盘高度?- 20170817 前端开发日报
  20. matlab读入三维点云数据斯坦福兔子

热门文章

  1. 「科聪应用案列」助力汽车制造业进一步“智能化”提升
  2. 计算机操作系统-进程的描述与控制
  3. python常见错误-缩进错误(IndentationError)
  4. Java刷题面试系列习题(二十一)
  5. ewb文件用multisim打开_EWB 文件是用什么软件打开的?
  6. Python爬虫小实践:寻找失踪人口,爬取失踪儿童信息并写成csv文件,方便存入数据库
  7. 关于建立开放的学术论文共享平台的倡议
  8. 西电计算机比较牛的导师有谁,考研西电的以下哪个专业比较好,导师比较牛比啊?...
  9. nutanix部署文件服务器,Nutanix CE部署手册资料新.docx
  10. iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)