Xavier(arrch64架构)安装Tensorflow,Keras以及编译opencv-python! |
- 『NVIDIA Jetson Xavier笔记1』Xavier(arrch64架构)刷机Jetpack4.2!
- 『NVIDIA Jetson Xavier笔记2』Xavier(arrch64架构)安装anaconda!
- 『NVIDIA Jetson Xavier笔记3』Xavier(arrch64架构)搭建second点云目标检测环境!
- 『NVIDIA Jetson Xavier笔记4』Xavier(arrch64架构)挂载SD卡
- 『NVIDIA Jetson Xavier笔记5』Xavier(arrch64架构)安装Tensorflow,Keras以及编译opencv-python!
一. 安装TensorFlow
- 确认jetson系统环境,使用JetPack 4.2刷机,Xavier L4T 系统版本32.1,强调一下系统版本很重要,不同系统的因为内核的改动导致很多命令可能与之前不一样,请对照版本。首先配置系统依赖库HDF5
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
- 这里我使用的是虚拟环境,如果不是虚拟环境,进入虚拟环境(
conda activate yolo
)!可以参考作者:https://blog.csdn.net/huiyuanliyan/article/details/92802922
- 安装python的一些依赖包,这一步可能非常慢,虽然下的东西不多,我用国内的网只有5-6kb/s的速度。耐心等待
pip install -U numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast h5py astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta
- 安装TensorFlow,制定版本TensorFlow-gpu==1.13.1
# 最新版本
pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu
# 指定版本
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==$TF_VERSION+nv$NV_VERSION
其中:
- TF_VERSION:TensorFlow的发行版本号,比如 1.13.1
- NV_VERSION:NVIDIA的TensorFlow容器版本,比如 19.03
- 例如安装19.03容器,1.13.1TensorFlow,命令如下
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.13.1+nv19.3
- 检查是否安装成功,显示true说明安装成功!
(yolo) sl@sl-xavier:~$ python
Python 3.6.10 | packaged by conda-forge | (default, Apr 24 2020, 16:15:58)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.13.1'
>>> tf.test.is_gpu_available()
.......
True
二. 安装Keras
- 只需要这一个命令就可以了!
pip install keras==2.2.5 -i https://mirrors.aliyun.com/pypi/simple/# 指定阿里镜像
三. 编译Opencv-python库
可以参考如下博客:
- https://www.cnblogs.com/ikic/p/12601450.html(主要)
- https://github.com/jetsonhacks/buildOpenCVXavier
- https://jkjung-avt.github.io/opencv3-on-tx2/(主要)
- https://jkjung-avt.github.io/opencv-on-nano/
- 这里不在讨论如何编译,我使用的opencv-3.4.0
- 下载opencv源码:
# Download sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.3.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.3.zip
- 编译后之后,搜索以下:
sudo find / -name "cv2.*"
(yolo) sl@sl-xavier:~$ sudo find / -name "cv2.*"
[sudo] password for sl:
/usr/lib/python2.7/dist-packages/cv2.aarch64-linux-gnu.so
/usr/lib/python3/dist-packages/cv2.cpython-36m-aarch64-linux-gnu.so
- 把
cv2.cpython-36m-aarch64-linux-gnu.so
放到如下的位置

sudo mv /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-aarch64-linux-gnu.so /home/sl/miniforge-pypy3/envs/yolo/lib/python3.6/site-packages/cv2.so
- 验证opencv-python是否安装成功!
(yolo) sl@sl-xavier:~$ python
Python 3.6.10 | packaged by conda-forge | (default, Apr 24 2020, 16:15:58)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.3'
>>> cv2.imread("/home/zhang/keras-yolov4-wan/images/000000013659.jpg")
>>>
四. 附录环境变量
(yolo) sl@sl-xavier:~$ conda list
# packages in environment at /home/sl/miniforge-pypy3/envs/yolo:
#
# Name Version Build Channel
_openmp_mutex 4.5 0_gnu conda-forge
absl-py 0.9.0 pypi_0 pypi
astor 0.8.1 pypi_0 pypi
ca-certificates 2020.6.20 hecda079_0 conda-forge
certifi 2020.6.20 py36h9f0ad1d_0 conda-forge
cycler 0.10.0 pypi_0 pypi
gast 0.3.3 pypi_0 pypi
grpcio 1.30.0 pypi_0 pypi
h5py 2.10.0 pypi_0 pypi
importlib-metadata 1.7.0 pypi_0 pypi
keras 2.2.5 pypi_0 pypi
keras-applications 1.0.8 pypi_0 pypi
keras-preprocessing 1.1.2 pypi_0 pypi
kiwisolver 1.2.0 pypi_0 pypi
ld_impl_linux-aarch64 2.34 h326052a_5 conda-forge
libblas 3.8.0 10_openblas conda-forge
libcblas 3.8.0 10_openblas conda-forge
libffi 3.2.1 h4c5d2ac_1007 conda-forge
libgcc-ng 7.5.0 h8e86211_6 conda-forge
libgfortran-ng 7.5.0 hca8aa85_6 conda-forge
libgomp 7.5.0 h8e86211_6 conda-forge
liblapack 3.8.0 10_openblas conda-forge
libstdcxx-ng 7.5.0 hca8aa85_6 conda-forge
markdown 3.2.2 pypi_0 pypi
matplotlib 3.2.2 pypi_0 pypi
mock 4.0.2 pypi_0 pypi
ncurses 6.1 hf484d3e_1002 conda-forge
numpy 1.19.0 pypi_0 pypi
openblas 0.3.6 h6e990d7_2 conda-forge
openssl 1.1.1g h516909a_0 conda-forge
pip 20.1.1 py_1 conda-forge
protobuf 3.12.2 pypi_0 pypi
pyparsing 2.4.7 pypi_0 pypi
python 3.6.10 h8356626_1011_cpython conda-forge
python-dateutil 2.8.1 pypi_0 pypi
python_abi 3.6 1_cp36m conda-forge
pyyaml 5.3.1 pypi_0 pypi
readline 8.0 h75b48e3_0 conda-forge
scipy 1.5.0 py36h3a855aa_0 conda-forge
setuptools 49.1.0 py36h9f0ad1d_0 conda-forge
six 1.15.0 pypi_0 pypi
sqlite 3.32.3 h283c62a_0 conda-forge
tensorboard 1.13.1 pypi_0 pypi
tensorflow-estimator 1.13.0 pypi_0 pypi
tensorflow-gpu 1.13.1+nv19.3 pypi_0 pypi
termcolor 1.1.0 pypi_0 pypi
tk 8.6.10 hed695b0_0 conda-forge
werkzeug 1.0.1 pypi_0 pypi
wheel 0.34.2 py_1 conda-forge
xz 5.2.5 h6dd45c4_0 conda-forge
zipp 3.1.0 pypi_0 pypi
zlib 1.2.11 h516909a_1006 conda-forge