英伟达tx2刷机+安装tensorflow1.4.1

英伟达tx2刷机+安装tensorflow1.4.1

最近在英伟达tx2做了一些工作,需要安装tensorfow+ros,以便于进行一些机器人视觉的开发,为此踩了不少坑,特此做下一些记录,以便于以后查询。

notes:其实安装这些东西,最主要软件和硬件版本的升级与变化,所以在开始特此申明所用的软硬件版本


刷机包:JetPack-L4T-3.1-linux-x64.run

刷完机后tx2为

      CUDA8.0+

      cudnn6.0.21

     ubuntu16.04

ros版本:kinetic

tensorflow 版本:Python2版1.4.1


文件储存地址:https://pan.baidu.com/s/1ral0F4S  密码  o4ae


刷机过程

参考这里



这一篇文章介绍的是tx1的刷机过程,讲得非常详细,tx2和tx1刷机过程类似,只需要将其中的tx1的相关选项为tx2即可,需要注意的是在这个界面

英伟达tx2刷机+安装tensorflow1.4.1_第1张图片

这是tx1的选择界面,对应tx2相同的界面建议在右上角选择full,因为只安装部分容易出一些问题,所以建议安装full版本的

notes:这给个刷机包会先在你本机的ubuntu上安装cuda和arm架构相关的东西,会改变本机的一些设置,所以不建议安装在自己常用的ubuntu系统的,解决办法是在vm中新建一个虚拟机,这个虚拟机建议储存空间50GB,因为会从网上下载10多GB的东西,当刷完机后选择不删除下载的文件,直接将这个虚拟机挂起,下次再刷机时就不用在下载10多G的东西。


这个虚拟机的网络选项需选为桥接模式,才能建立虚拟机和tx2的网络链接,否则会出现无法识别tx2 ip这种问题。

当进行到当前这一步时英伟达tx2刷机+安装tensorflow1.4.1_第2张图片

需要将vm上方栏 虚拟机->可移动设备 中的nvidia tx2相关设备连接到虚拟机,然后可以使用lsusb查看tx2是否与虚拟机成功连接,如出现nvidia相关及安装成功了

对于校园的同学,建议切换到外网下载,否则有些包校园网会下载失败



安装tensorflow1.4.1

关于tensorflow的安装,对于tx2相对比较容易安装,因为刷机包已经为我们安装好的cuda和cudnn,这相对于pc来说少了一些麻烦的步骤。tensorflow 的安装分为从源码安装和pip直接安装.whl文件。


从源码安装可以参考下面的两篇:

https://www.jianshu.com/p/d3c50b7a00a7

http://www.ncnynl.com/archives/201706/1759.html

上一篇文章主要参考如何创建虚拟内存,因为想要编译tf这样的大工程,tx2的8GB内存不够使用,所以需要新建8GB虚拟内存,具体操作命令行主要包括

fallocate -l 8G swapfile
chmod 600 swapfile
mkswap swapfile
sudo swapon swapfile
swapon -s

然后就可以参照第二篇从源码安装tensorflow,如需要安装python2版本的tensorflow,只需将这篇文章中的python3改为python2即可。




但是经过多方查询验证,其实从源码安装tensorflow其实也是将源码编译成.whl文件,所以只要编译时所添加的参数是相同的,完全就可以用别人编译好的.whl文件,然后用pip安装即可。而对于tx2,只要用同一个刷机包刷机,参数都是相同的,所以强烈建议使用已经编译好的.whl文件安装tensorflow。

我刷机时使用的是JetPack-L4T-3.1-linux-x64.run,只要是使用同一个刷机包刷机,就可用轻松从下面提供的.whl中安装tensorflow .具体命令如下

参考:https://github.com/peterlee0127/tensorflow-nvJetson

1.安装依赖


sudo apt install python-numpy python-dev python-pip python-wheel

2.从网盘中下载下tensorflow1.4.1.whl,使用pip安装

:安装python2版本tensorflow1.4.1


sudo -H pip install tensorflow-1.4.1-cp27-cp27mu-linux_aarch64.whl
安装过程需要从网上下一些包,且会在numpy安装过程卡上一会,等待即可


测试


在python中输入命令import tensorflow

未报错及表示成功


安装ros

参考文章:http://blog.csdn.net/weicao1990/article/details/52575314

直接运行如下命令即可

1.  sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.   sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

3.   sudo apt-get update

4. sudo apt-get install ros-kinetic-desktop-full

sudo rosdep init

6  rosdep update

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

sudo apt-get install python-rosinstall



测试

新打开一个窗口,运行

$roscore


notes:sudo rosdep init 可能失败,解决办法参考

https://answers.ros.org/question/54150/rosdep-initialization-error/

先运行如下命令:

sudo apt-get install ca-certificates

然后再运行 sudo rosdep init 即可



至此,ros和tensorflow都安装成功了,在命令行中运行python

>import rensorflow

>import rospy

两句代码都能成功执行,说明两者都安装成功,且能在同一文件下同时执行,及能够在ros环境下运行tensorflow。之后会再写一片文章介绍如何将ros的图片消息转换为tensorflow中的数据。





后记:当时一直想要配置python3版本的tensorflow加ros,最后卡在了cv_bridge这个包这,因为想要转换ros图片数据为tensorflow中的图片数据就得用opencv做中继,opencv这块就很难配置了,挺麻烦,所以建议使用python2版本的tensorflow能够很好的兼容ros。



你可能感兴趣的:(深度学习)