Jetson nano 4G, com o tensorflow 2.5.0 cuda gpu

Depois de ter conseguido efetuar no Jetson nano de 2G, uma instalação do tensorflow 2.5.0 com o cuda gpu que passou o teste mais básico, vou tentar efetuar a mesma configuração nesta maquina.

A configuração foi feita de acordo com o seguinte artigo no forum da nvidia:

https://forums.developer.nvidia.com/t/official-tensorflow-for-jetson-nano/71770

O sintoma de mau funcionamento era o mesmo.

>>> import cv2
Illegal instruction (core dumped)

Portanto o primeiro passo é retirar o que lá está,  pela mesma ordem inversa da execução anterior, que neste caso foi o resultado de uma instalação com o sudo, exatamente conforme o oficial.

sudo pip3 uninstall tensorflow
sudo pip3 uninstall numpy future mock h5py keras_preprocessing keras_applications gast futures protobuf pybind11
sudo pip3 uninstall testresources setuptools

No entanto quando procurei reproduzir a instalação que tinha sido eficaz nesta maquina, verifiquei que se mantinha instalado no python3 algo que impedia o correcto funcionamento do python3 nos imports.

Por isso decidi efectuar o procedimento num sdcard novo.

Os comandos efectuados nessa instalação bem sucedida são apresentados abaixo, e foram reduzidos face à instalação do tensorflow no jetson nano 2G.

#
# from  jetpack 4.5.1 / opencv 4.1.1 / numpy 1.13.3
#

# based on oficial install available at
# https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html

# install locate, nano and optional goodies
sudo apt install nano locate mc screen terminator
updatedb
locate nvcc

sudo apt update
sudo apt upgrade
sudo apt autoremove

# install nvidia-container nvidia-cuda nvidia-cudnn8 nvidia-opencv nvidia-tensorrt nvidia-visionworks nvidia-vpi
sudo apt install nvidia-jetpack

# install apt dependencies
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo apt-get install python3-pip

# install user python packages dependencies
pip3 install cython
pip3 install six mock requests gast
pip3 install astor termcolor protobuf

# start install pip dependences on specific versions
# reference on last tensorflow (for jetson) required deps
# https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform-release-notes/tf-jetson-rel.html#tf-jetson-rel
pip3 install h5py==2.10.0 numpy==1.19.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 wrapt google-pasta setuptools testresources

# install jetson tensorflow version (2.x)
pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow

# prepare path for cuda tools
export PATH=”$PATH:/usr/local/cuda-10.2/bin”
# maybe in some cases we need to add the ~/.local/bin to the path

# at the end we get
#
# numpy 1.19.5
# opencv 4.1.1
# h5py 2.10.0
# tensorflow 2.5.0
# keras 2.5.0
#
# Successfully opened dynamic library libcudart.so.10.2
#


end