NVIDIA Jetson TX2 使用总结

这里记录下TX2的一些操作总结(不定期补充),涉及到一些注意事项,及其一些工具包的安装

文章目录

  • 1 刷机部分
    • 1.1刷机到本机系统
    • 1.2 刷机到SDCard
  • 2 安装TensorFlow
    • 2.1 分区
    • 2.2 安装依赖
    • 2.3 安装tensorflow

1 刷机部分

1.1刷机到本机系统

关于TX2的刷机部分,其他博客都已经介绍了许多了。这里主要注意几点,强烈建议TX2用有线网连接,免得Wifi突然断掉。

1.2 刷机到SDCard

目前无法刷成功,按照教程都无法实现,等下一批TX2到了再调试

2 安装TensorFlow

TensorFlow的安装主要参考JetsonTX2上安装tensorflow的心酸史,这里对其进行总结,并使用更加透明的方式进行安装

2.1 分区

分区是几乎所有教程都说的一个问题,我这里也不尝试不分区会怎样了,TX2供8G内存,但是考虑到TX2机身仅带30G存储,所以我开辟了4G的虚拟空间,按照下面的代码执行安装。

注:分区部分仅针对内存较少的设备,如果自身机身内存超过12G,可以直接跳过此步骤,例如深度服务器内存32G,没必要创建虚拟内存

fallocate -l 4G swapfile # 创建8G大小的swapfile
chmod 600 swapfile # 更改swapfile的权限
mkswap swapfile # 创建swap区
sudo swapon swapfile # 激活swap区
swapon -s # 确认swap区在用

出现下述样例即创建成功
在这里插入图片描述

2.2 安装依赖

依赖项的安装许多教程使用的是脚本安装,为了方便安装透明,我这里将其提取出来,一步步进行安装。这里只针对python2进行安装。

注:这部分安装无论什么设备都建议使用apt-get安装,方便快捷,空间占用大约200M,对整体系统空间的占用不大

  • Java依赖安装
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  • 基本库依赖安装
sudo apt-get install zip unzip autoconf automake libtool curl zlib1g-dev maven
  • Python 2系列依安装
sudo apt-get install python-numpy swig python-dev python-pip python-wheel
  • Bazel的安装

Bazel的安装时不要尝试自己编译源码进行安装(感兴趣理解其原理除外),因为编译时候需要许多附加库,这里只是调用,所以按照如下的方式进行下载安装。或者使用迅雷下载(因为总下不下来)

注:这里一定要确定bazel的版本,版本过高会影响TensorFlow的编译,截止2019-1-22日,针对TX2,使用TensorFlow 1.9.0 版本,对应bazel为0.10.0,以后在安装时候可以作为参考

wget --no-check-certificate https://github.com/bazelbuild/bazel/releases/download/0.10.0/bazel-0.10.0-dist.zip
unzip bazel-0.10.0-dist.zip -d bazel-0.10.0-dist
cd bazel-0.10.0-dist/
./compile.sh 

编译之后,在output文件夹里面生成出bazel,112M,因为TX2空间有限,而且这个是个编译工具,我将其放在外置SDCard中,并在系统中添加放置的环境变量,在PATH中添加这个bin路径,在我系统中,放置一些无关的bin文件时都是放在 export PATH="/media/nvidia/SDCard/prefix/bin":$PATH

cp output/bazel ../../prefix/bin/

如果系统空间足够大,直接放在系统里面就行。

sudo cp output/bazel /usr/local/bin

至此,所有依赖项安装完成

2.3 安装tensorflow

从github上下载TensorFlow 1.9.0版本的代码。之后,考虑TX2的平台问题,我们需要对源码进行修改。(注:TensorFlow版本与CUDN和cuDNN版本有关,后续我会对其进行细致分析

  • 修改tensorflow/core/kernels/cwise_op_gpu_select.cu.cc文件,按照如下图片示例修改即可
    NVIDIA Jetson TX2 使用总结_第1张图片
    修改之后调用进行环境配置,在配置路径时候,一定要确定在路径下有相关文件(cudnn默认就不是在cuda下),别配置错了,导致编译失败
./configure # 根据需求进行配置,一些参数选择不确定直接参考其他博客,介绍的非常清楚

#配置之后,进行编译,此步骤编译出的是Python的TensorFlow安装包
bazel build -c opt --local_resources 3072,4.0,1.0 --verbose_failures --config=cuda //tensorflow/tools/pip_package:build_pip_package

你可能感兴趣的:(TX2,TensorFlow,linux深度学习服务器搭建)