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

<think>好的,我现在需要帮助用户解决在NVIDIA Jetson TX2安装和配置OpenCV的问题。首先,我得回顾一下用户提供的引用资料,看看有没有相关的步骤或者建议。用户提到了四个引用,其中引用[1]和[3]是关于构建和安装OpenCV的项目和步骤,引用[2]提到安装TensorFlow GPU时可能遇到的OpenCV路径问题,而引用[4]则涉及系统配置和模式选择。 首先,用户可能在安装OpenCV时遇到问题,或者需要指导如何正确安装。根据引用[3],安装前可能需要卸载现有的OpenCV库,避免冲突。这应该是第一步,卸载现有的OpenCV。然后,用户需要确保系统依赖项安装正确,比如CMake、Python开发库等,这可能来自引用[1]的项目步骤。 接下来,用户可能需要从源码编译OpenCV,因为预安装的版本可能不满足需求,或者需要特定模块。引用[1]的项目可能提供了特定的配置选项,适用于TX2的硬件优化。因此,下载源码并配置CMake参数是关键步骤,比如开启CUDA支持、NEON优化等,以利用TX2的GPU加速。 编译过程可能会比较耗时,尤其是在TX2上,所以需要提醒用户耐心等待。安装完成后,还需要配置环境变量,确保Python可以找到新安装OpenCV库,这可能涉及到更新LD_LIBRARY_PATH和Python的site-packages,如引用[2]提到的路径验证。 另外,引用[4]提到TX2有不同的运行模式,这可能会影响编译时的性能。用户可能需要切换到高性能模式(比如模式0)来加快编译速度,这也是需要注意的点。同时,固定IP可能对远程访问有帮助,但可能和安装过程关系不大,不过用户可能需要稳定连接进行长时间的编译。 用户可能遇到的问题包括安装依赖项时的错误、CMake配置失败、编译错误或者安装后的路径问题。需要检查是否正确卸载了旧版本,是否正确安装了依赖,CMake参数是否正确,以及环境变量是否设置正确。例如,引用[2]提到如果显示错误,要验证apt源的路径是否正确,这可能涉及到依赖库的安装源。 最后,生成的相关问题需要考虑用户可能的后续疑问,比如验证安装、处理常见错误、性能优化以及不同安装方法的比较。例如,用户可能想知道如何确认OpenCV是否正确安装,或者编译时出现内存不足怎么办,以及是否应该使用预编译版本等。 总结步骤应该是:卸载旧版本→安装依赖→下载源码→配置编译选项→编译安装→配置环境→验证安装。同时,注意事项包括模式切换、依赖项完整性和编译时间。确保每一步都参考了提供的引用资料,特别是引用[1]、[3]和[4]中的相关内容。</think>### 在NVIDIA Jetson TX2安装和配置OpenCV的步骤 #### 1. **卸载现有OpenCV(可选)** 如果系统中已存在旧版本OpenCV,建议先卸载以避免冲突: ```bash sudo apt-get purge libopencv* sudo apt autoremove sudo apt-get update ``` (此步骤参考引用[3]的清理操作[^3]) #### 2. **安装系统依赖项** 安装编译OpenCV所需的基础工具和库: ```bash sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install -y python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev ``` #### 3. **获取OpenCV源码** 从官方仓库克隆源码(推荐使用稳定版本): ```bash git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git cd opencv && git checkout <指定版本号> # 例如:4.5.5 ``` #### 4. **配置CMake参数** 创建`build`目录并生成针对TX2优化的配置: ```bash mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN=6.2 \ # TX2的GPU架构版本 -D WITH_CUDNN=ON \ -D OPENCV_DNN_CUDA=ON \ -D ENABLE_NEON=ON \ # 启用ARM NEON优化 -D BUILD_opencv_python3=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules .. ``` (部分参数参考引用[1][^1]的硬件适配优化) #### 5. **编译与安装** 使用多线程加速编译(TX2建议使用`-j4`避免内存溢出): ```bash make -j4 # 根据系统内存调整线程数 sudo make install sudo ldconfig ``` #### 6. **验证安装** - **Python环境验证**: ```python import cv2 print(cv2.__version__) ``` - **C++验证**: ```bash pkg-config --modversion opencv4 ``` #### 7. **环境配置(可选)** 如果Python无法找到OpenCV库,手动添加路径: ```bash echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/opencv.conf sudo ldconfig ``` --- ### **注意事项** 1. **性能模式切换** TX2提供多种能耗模式,编译前建议切换至高性能模式(如模式0): ```bash sudo nvpmodel -m 0 # 最大化CPU/GPU性能 ``` (参考引用[4]的Nvpmodel配置[^4]) 2. **依赖项完整性** 若安装失败,检查`/etc/apt/sources.list.d/nvidia-l4t-apt-source.list`中的软件源配置(参考引用[2][^2]) 3. **编译时间预估** TX2上完整编译OpenCV约需2-4小时,建议连接稳定电源。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值