Jetson Nano: Install Tensorflow 2.0.0 with Python 3.7.5

Jetson Nano
Python 3.7.5 (x64)
Pip 22.3.1

Wish to install tensorflow 2.0.0:

$ pip install tensorflow==2.0.0
$ ERROR: Could not find a version that satisfies the requirement tensorflow==2.0.0 (from versions: 2.10.0rc0, 2.10.0rc1, 2.10.0rc2, 2.10.0rc3, 2.10.0, 2.10.1, 2.11.0rc0, 2.11.0rc1, 2.11.0rc2, 2.11.0)
ERROR: No matching distribution found for tensorflow==2.0.0

Is there a way to install older version?
Thanks!!

@Sib_Hong,

Welcome to the Tensorflow Forum!

You can download TF 2.0 wheels from pypi.

According to Tested build configurations, TF 2.0.0 is compatible with

Python: 2.7, 3.3-3.7
CUDA: 10.0
cuDNN: 7.4

Thank you!

Result:

$ pip3 install tensorflow-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl

Defaulting to user installation because normal site-packages is not writeable
ERROR: tensorflow-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl is not a supported wheel on this platform.

Is there a version for ARM?
Thanks!!

@Sib_Hong,

Is there any specific reason to use TF 2.0.0?

Is there a version for ARM?

You can see here, which are maintained by a third party (unofficial) but start with TF2.4.1 in 2.x.

Thank you!

Good question.

Also @Sib_Hong do note there have been a number of changes (e.g. with the Keras Optimizer library) and fixes. Check the RELEASES page (for example, after v2.4) for more details. Releases · tensorflow/tensorflow · GitHub . Have you tried v 2.11.0 ?

Sorry for the late reply.

I’m programming on Jetson Nano.
(1) The last Jetpack it supported is 4.6. And the last cuda version it supported is 10.2.
(2) According to the official document below, I have to use older version of tensorflow.
Tested build configurations

@Sib_Hong,

According to TensorFlow compatibility with NVIDIA containers and Jetpack

Please refer to Install TensorFlow 2.4 on Jetson Nano may help you.

Thank you!

@Sib_Hong Having had some experience with that hardware (a long time ago), these steps might help (the knowledge is a bit rusty :warning: ):

[:warning: UPDATE: As you said, and as per a post here - Jetpack 5.0.2? - Jetson Nano - NVIDIA Developer Forums - the JetPack 5.0.2 solution from below won’t work, unfortunately. However this user may have found a workaround :arrow_forward: Jetpack 5.0.2? - #16 by john193 - Jetson Nano - NVIDIA Developer Forums :arrow_backward:]

Docker and JetPack :rocket:

Assuming you’re running NVIDIA’s Linux that came with the Nano, you might (fingers crossed :crossed_fingers:) be able to use Docker. (What is a Jetson container → https://developer.nvidia.com/embedded/learn/tutorials/jetson-container“NGC hosts containers for the top AI and data science software”.)

  1. Go to this NVIDIA’s site https://developer.nvidia.com/embedded/jetson-cloud-native:

NVIDIA JetPack includes NVIDIA Container Runtime with Docker integration, enabling GPU accelerated containerized applications on Jetson platform. Developers can package an application for Jetson with all its dependencies into a single container that is guaranteed to work in any deployment environment.

Several development and deployment containers for Jetson are hosted on NVIDIA NGC that can be run on JetPack or directly on Jetson Linux using nvidia container runtime:

  • TensorFlow container image: This image includes TensorFlow pre-installed in a Python environment. Developers can use this to set up a TensorFlow development environment quickly. This container can be used as a base image for containerizing TensorFlow applications.
  1. Click on that last “TensorFlow container image” link: NVIDIA L4T TensorFlow | NVIDIA NGC

TensorFlow Container for Jetson and JetPack

The l4t-tensorflow docker image contains TensorFlow pre-installed in a Python 3 environment to get up & running quickly with TensorFlow on Jetson. These containers support the following releases of JetPack for Jetson Nano, TX1/TX2, Xavier NX, AGX Xavier, and AGX Orin:

Note the publisher (it says “Google Brain Team”) :cool:

Notice the latest JetPack version. Currently it says it contains TensorFlow 2.9.1:

  • JetPack 5.0.2 (L4T R35.1.0)
    • l4t-tensorflow:r35.1.0-tf1.15-py3
      • TensorFlow 1.15.5
    • l4t-tensorflow:r35.1.0-tf2.9-py3
      • TensorFlow 2.9.1

(:information_source: For the official TensorFlow release notes, go to Releases · tensorflow/tensorflow · GitHub)

  1. Click on the “Copy Image Path” in the top right corner, and select the ...-tf2.9-py3 path (or whatever contains the latest TF version). Don’t forget to save that path somewhere, as you’ll need it for the next step:

image

  1. Now that you have the copied path to the container, follow the steps described in this NVIDIA tutorial → https://developer.nvidia.com/embedded/learn/tutorials/jetson-container (docker pull [OPTIONS] NAME[:TAG|@DIGEST] to load, and sudo docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] to run. For additional steps on running containers → NVIDIA L4T Base | NVIDIA NGC).

@Sib_Hong These steps might help, the knowledge is a bit rusty. Fingers crossed :crossed_fingers:

[:warning: UPDATE: As you said, and as per a post here - Jetpack 5.0.2? - Jetson Nano - NVIDIA Developer Forums - the JetPack 5.0.2 solution won’t work, unfortunately. However this user may have found a workaround :arrow_forward: Jetpack 5.0.2? - #16 by john193 - Jetson Nano - NVIDIA Developer Forums :arrow_backward:]



Other references: