『Nvidia Jetson AGX Xavier笔记』Xavier(arrch64架构)安装Tensorflow,Keras以及编译opencv-python!

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
  • 安装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库

可以参考如下博客:

# 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