Jetson TX2 安装Tensorflow、Opencv

 

一、安装Tensorflow

      以前,在Jetson上安装Tensorflow是一个复杂的过程。由于Tensorflow占用的内存较大,安装时还需要配置虚拟内存。最近,NVIDIA官方推出了针对Jetson的轻量化Tensorflow安装包,使得安装过程极为简化。下面是我在Jetson TX2上的安装过程。

      在安装前,首先确保Jetson TX2上已经刷了Jetpack 3.3或更新的版本。由于系统上自带了Python 2和Python 3,默认的版本是Python 2,而我主要使用Python 3,所以需要先切换默认的Python版本。打开终端(Ctrl+Alt+T),输入以下命令切换默认Python版本至Python 3:

echo alias python=python3 >> ~/.bashrc
source ~/.bashrc

      切换完成后,输入 :

python --version

      查看当前默认Python版本,应该已经是Python 3了。接着,安装pip3,用于后续安装包的查找、下载和管理,输入:

sudo apt install python3-pip

       接下来可以安装Tensorflow了。NVIDIA官方推出了针对Jetson的Tensorflow安装包,只需一行命令,就可以完成安装(前提是已经刷好Jetpack 3.3以上),简直太赞了。在终端输入:

pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp33 tensorflow-gpu

      如果你主要用Python 2, 那么就用以下命令:

pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp33 tensorflow-gpu

      经过几十分钟的等待,Tensorflow就安装完成了。可以测试一下,输入:

python
import tensorflow

     假如不报错,则说明安装成功,这时就可以愉快地跑你的Tensorflow程序了。  

二、安装Opencv 3

      我的程序中用到了Opencv, 在测试的时候出现cv2模块导入失败。原因是Jetpack虽然包含了Opencv 3但是只提供了Python 2.7的编译版本,所以也只能在Python 2.7下使。解决办法是重新安装Opencv。由于Nvidia tx2使用的是aarch(armv8)架构,不支持pipconda的方式安装Opencv,因而只能采用源码的方式安装。我找到的这个解决方案应该是众多方法中操作较为简单的,但安装过程比较费时。打开终端,依次输入以下命令:

git clone https://github.com/jetsonhacks/buildOpenCVTX2.git
cd buildOpenCVTX2
./buildOpenCV.sh 
cd $HOME/opencv/build
make
sudo make install

    经过漫长的等待,就安装完了。测试一下:

python
import cv2
print(cv2.__version__)

      若能正确得到版本号,说明安装成功。

三、GPU内存分配

       最后,附带说一下GPU内存分配问题。我把训练好的网络放到Jetson上做测试时,系统报出了Killed,就是线程被杀死。主要是因为GPU内存不足。解决办法时设置内存分配。在程序中添加以下代码:

import os  
os.environ["CUDA_VISIBLE_DEVICES"] = '0'   #指定第一块GPU可用  
config = tf.ConfigProto()  
config.gpu_options.per_process_gpu_memory_fraction = 0.5  # 程序最多只能占用指定GPU50%的显存。具体比例自己根据实际设置,若报Killed,就减小这个数值
config.gpu_options.allow_growth = True      #程序按需申请内存  
sess = tf.Session(config = config) 

      另外,在Jetson上查看GPU状态,不能用nvidia-smi命令,Tegra不支持这个命令,要用:  

sudo ./tegrastats

      要想让Jetson开足马力做计算,可以开启高功耗模式:

sudo  ~/jetson_clocks.sh

参考链接:

Python版本切换:https://blog.csdn.net/wangguchao/article/details/82151372

Jetson安装Tensorflow:https://docs.nvidia.com/deeplearning/dgx/install-tf-jetsontx2/index.html

编译安装Opencv: https://blog.csdn.net/android_ruben/article/details/80241219

Tensorflow GPU内存管理:https://blog.csdn.net/liulina603/article/details/80180355

Jetson工作模式切换:https://blog.csdn.net/jane_ybf/article/details/78437850

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值