TX2搭建深度学习网络完成语义分割完整过程

总目标:搭建平台,利用TX2来搭建深度学习网络,完成道路识别线的提取。
学习背景:利用MATLAB可以完成深度学习的训练等,学习过tensorflow,对深度学习有一定的了解,但是从未接触ubuntu系统和TX2硬件,这一次算是半从头开始了。

1.刷机

1.1第一次下载和安装:

环境:
1.ubuntu虚拟机,版本:18.04
2.TX2开发者套件
过程整理
注:因为是做了一部分了遇到了一些bug,才回来写博客记录学习的过程,顺便看看是什么地方配置的不够正确,大体上是记录debug过程,后续会边学习边记录。
1.第一次启动TX2:给TX2连上显示器,短按TX2开机键2s左右,启动图形化操作界面命令:

cd NVIDIA-INSTALLER
sudo ./installer.sh
nvidia
nvidia
reboot

2.jetpack:为jetson开发者套件安装软件和操作系统
3.我下载的是sdkmanager,融合了jetpack
4.使用tensorrt部署神经网络到TX2,支持的语言C++和python(后续的软件配置也是从这两个语言出发的)
5.demos:two days a demo & hello AI world。可以在github找到这两个例子的完整实现过程
6.Digits:是一个在TX2上实现深度学习的好工具,官网上也有相应的学习资料,以上的两个例子也应该是在Digits上实现了的(虽然我还没有成功的安装)。
7.Digits和Jetson&Tensorrt:
NVIDIA DIGITS:用于在云或PC中带注释数据集上交互式地训练神经网络;
Tensorrt&Jetson:用于在现场部署时进行推理,利用已经训练好的神经网络在现场完成语义分割等操作。
8.DIGITS相关:下载Docker,注册NGC,安装NVIDIA driver
9.使用Digits完成语义分割的全过程:
准备新的语义分割数据集——导入DIGITS——导入预训练的神经网络——重新训练(迁移学习)——测试——导入Jetson

基础学习
1.打开终端,快捷键:CTRL+ALT+T
2.一些常用的命令:
ls:查看该目录下的文件
mkdir:创建目录
cd:切换目录
cp:复制文件
rm:删除文件
mv:移动文件
3.切换到root用户:
sudo -i
4.安装软件:
sudo apt-get install packagename
5.将安装包拖到命令终端会出现安装包所在的完整位置以及安装包的名字

问题&解决:
问题1:下载的时候内存不足。
解决1:扩大磁盘的大小,现在已经扩大到了80G,可以在虚拟机中直接修改。

问题2:sdkmanager在STEP2的时候,没有可以选择的合适的JetPack版本文件。
解决2:将TX2连上了再进行反复刷新和尝试。多点几次linux系统刷新那个地方,就会出现让输入sudo密码的对话框,输入即可。

问题3:sdkmanager界面显示不完全。
解决3:在虚拟机里面更改显示的分辨率。

问题4:在主机sdkmanager中往TX2中安装软件的时候没有安装成功。
解决4:将主机中已经下载好的安装包共享到主机的本地,利用u盘将文件转送到TX2中,并使用命令进行下载。
备注:关于TX2和主机的文件共享,尝试过SSH远程控制(没有连接成功,遇到了问题,没有解决)&U盘拷贝(多次尝试成功,在虚拟机打开的时候,再插入U盘,选择将U盘连接到虚拟机内)&安装VMware Tools(安装过程比较复杂)。

过程备注:
(1)下载的的确很慢,反复等待,暂停和重新开始。
(2)最好是在STEP3选择:先下载,后安装。

刷机:
(1)选择手动安装。
(2)用自带的USB线连接Ubuntu主机和TX2,然后按住电源键2到3秒使TX2开机,然后一直按着按钮S3,同时按一下按钮S1并松开,看到TX2上的灯闪了一下后,松开S3,这样就进入了刷机模式。如果你是用虚拟机安装的话,这个时候主机会提示将USB连接到WIN10还是虚拟机,选择连接虚拟机,如果没有出现,那么到WIN10服务里面找到“VMware USB Arbitration Service”打开,若无法启动就去控制面板修复VMware即可。
(3)刷机完成之后出现连接TX2对话框:skip—>finish and exit—>关闭sdkmanagerr—>重新启动TX2—>拔掉USB线—>将TX2外接显示器,进行基础的配置,在terminal中输入ifconfig,查看ip(192.168.2.22)—>重新打开主机的sdkmanager,在刷机的对话框选择skip,在连接TX2的对话框输入刚刚在TX2中得到的ip,继续安装剩下的软件:CUDA,AI,COMPUTER VISION等。

SSH
将sdkmanager的软件移动到TX2上:
通过ssh远程登陆进行copy:
在ubuntu虚拟机系统内操作:
1.安装ssh客户端和服务端:

sudo apt-get install openssh-server openssh-client

2.启动ssh

sudo service ssh start

在自己的host主机操作:
1.连接虚拟机的电脑:并输入虚拟机的密码

ssh gaoxin@gaoxin-virtual-machine


2.复制文件(可选参数选择-r,即顺序选择全部)

scp [可选参数] file_source file_target

其他命令:
查看自己电脑的用户名:在终端输入:

Rundll32 netplwiz.dll,UserRunDll

查看自己电脑的ip地址:以太网适配器-网线连接;无线局域网适配器-WLAN

ipconfig

在TX2上查看L4T的版本号:

head -n 1 /etc/nv_tegra_release

下载软件的命令:

dpkg -i [安装包名字]

当终端显示没有权限的时候,使用

sudo 命令

总结:
这一次的下载,最终是失败,耗时一周,主要原因是在虚拟机里面网络与外部的连接不够稳定,但是下载和安装各种软件又需要很好的网络。

1.2 从头开始(使用ubuntu纯系统进行操作)

在电脑上安装ubuntu双系统
TB,30元,保存了相关的照片和视频。

下载最新版的sdkmanager
在ubuntu主机上,百度直接搜索英伟达的官网(在自带的firefox浏览器里面直接进行搜索的话,可能会显示没有网络,反应很慢,可以在浏览器里面先进入baidu.com,然后再搜索,可以进入),下载sdkmanager。

安装和打开sdkmanager

1.安装sdkmanager:
切换目录:

cd /home/gaoxin/Downloads

安装:

sudo dpkg -i ./sdkmanager_0.9.12-4180_amd64.deb

tips:在不知道sdkmanager的地址的时候,将安装包文件直接拖到终端命名处,便会显示安装包的所在位置和安装此安装包的正确名字。

2.打开sdkmanager:

sdkmanager

逐步安装和下载
1.登入nvidia的账号。
2.选择自己的设备TX2以及要安装的JetPack的版本,这一次我的选择是JetPack4.4
选择全部软件和安装包进行下载,网络不好的话选择先下载后安装。
3.下载完刷机包之后会弹出来对话框准备刷机,选择手动刷机,然后按照对话框上面提示的顺序进行操作(前面是没有打开电源的,准备开始刷机之后按照操作打开和操作),然后选择flash,开始刷机。
4.刷机完成之后,(这个时候所有的软件都还没有安装),关闭并退出主机的sdkmanager,给TX2断电和重新开机,连接外接的显示器,将TX2与ubuntu主机连接的USB线断开,保证TX2和ubuntu主机连在同一个路由器下,开机并reset,TX2的新系统将在显示器上进行显示,会进行一些基本的配置,然后打开终端(快捷键:Ctrl+Alt+T),输入:

ifconfig

查看ip地址,如果网线连接的话,在eth0的inet处有地址,我的是:192.168.2.22,如果是连接的WiFi,会在wlan0处显示地址。
然后回到ubuntu主机,重新打开sdkmanager,重新全部选择一次,然后进行安装,在弹出的对话框的刷机部分,选择取消,然后在弹出的对话框的SSH连接TX2部分,输入刚刚查到的ip,然后输入自己在设置ubuntu的时候输入的username和password,选择install,开始安装,中间可能会卡在99%,耐心的等待,或者是暂停一会儿又开始。这一次终于成功了。

总结:
最好还是用纯ubuntu系统的主机,虚拟机太不靠谱了,出现了好多问题,还一时半会儿不能解决的那种,这次换过来了,几乎是啥问题都没得,前面的一次就算是踩雷,这一次就完美的成功啦。

在TX2上搭建深度学习语义分割系统(1)——TX2刷机等相关推荐

  1. 深度学习语义分割理论与实战指南

    本文来自微信公众号[机器学习实验室] 深度学习语义分割理论与实战指南 1 语义分割概述 2 关键技术组件 2.1 编码器与分类网络 2.2 解码器与上采样 2.2.1 双线性插值(Bilinear I ...

  2. 【NLP】博士笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习初学者 引言:最近自动驾驶项目需要学习一些语义分 ...

  3. 笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 本文内容概述王博Kings最近的语义分割 ...

  4. 博士笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习初学者 本文内容概述王博Kings最近的语义分割学 ...

  5. 【深度学习】深度学习语义分割理论与实战指南.pdf

    图像分类.目标检测和图像分割是基于深度学习的计算机视觉三大核心任务.三大任务之间明显存在着一种递进的层级关系,图像分类聚焦于整张图像,目标检测定位于图像具体区域,而图像分割则是细化到每一个像素. 基于 ...

  6. 深度学习语义分割理论与实战指南.pdf

    深度学习语义分割理论与实战指南 V1.0 版本已经完成,主要包括语义分割概述.关键技术组件.数据模块.经典分割网络与架构.PyTorch基本实战方法等五个部分. 获取方式: 扫描关注下方公众号回复 语 ...

  7. 在谷歌云服务器上搭建深度学习平台

    2018年9月8日笔记 登录谷歌云控制台需要科学上网,连接云主机不需要科学上网. 阅读此文并进行操作的前提是已经成功申请谷歌云的使用资格,并获得300美元使用金额. 如何申请谷歌云的使用,请阅读另外一 ...

  8. 第13届R会演讲 | 深度学习语义分割引导.ppt

    2020年,第13届中国 R 会(北京)将于12月19-20日在中国人民大学召开,本次会议由统计之都,中国人民大学统计学院.中国人民大学应用统计科学研究中心主办,得到 R Studio 赞助支持,将以 ...

  9. 深度学习-语义分割总结

    翻译自qure.ai 什么是语义分割 对图片的每个像素都做分类. 较为重要的语义分割数据集有:VOC2012 以及 MSCOCO . 有哪几种方法 传统机器学习方法:如像素级的决策树分类,参考Text ...

最新文章

  1. php项目架构图,项目架构 · Lanson技术文档 · 看云
  2. windows调用ubuntu下的sublimeText2环境搭建
  3. HBase之HFile解析
  4. 【宝藏女孩】独行40国,风控女孩的环球之旅
  5. 前端学习(1400):多人管理20代码优化
  6. 利用DAAB 获取存储过程返回值的方法
  7. Linux——安装之磁盘分区
  8. Tips--windows系统下gcc编译C文件为so共享库
  9. 苏宁数据中台架构实践,高清技术版
  10. Coding and Paper Letter(五十七)
  11. java IO流经典编程题(5题)
  12. 档案系列包括图书馆管理与服务器,基于Web的图书馆档案管理系统设计与实现.pdf...
  13. Redisson延迟队列
  14. Hadoop集群搭 Hadoop分布式文件系统架构和设计
  15. 编译原理陈火旺第三版第六章课后题答案
  16. 【MATLAB第3期】源码分享#数学建模常用算法程序整理
  17. 企业能源管控平台在钢铁行业能源管理中的应用
  18. 易语言 服务端给客户端发弹窗信息源码
  19. 揭个人信息黑产链条:含50多种交易大项 可私人定制
  20. MVCC和快照读丶当前读

热门文章

  1. 1-4移动均线交叉策略3
  2. 关于echarts绘制的世界地图中英文对应表(Echarts-4.1.0版本)
  3. 欧陆战争5设备系统时间与服务器时间不一致,欧陆战争5怎么调回时间?欧陆战争5帝国调回时间的教程...
  4. 使用Excel制作图表的实例教程 Excel图表制作大全
  5. 日本人制作汉字俄罗斯方块游戏,看哭一票中国人
  6. C/C++卡布列克运算验证
  7. BAT 批处理脚本 教程(较全)
  8. 黑马程序员C++基础入门(二)——程序流程结构 - 数组
  9. zedgraph 参考线/辅助线/网格线
  10. 发那科程序全部输出_发那科工业机器人该如何备份程序?