Installing TensorFlow 1.9 For Jetson TX2

This is the first release of the documentation for installing TensorFlow for Jetson TX2. This document describes the key features, software enhancements and improvements, and known issues regarding the installation of TensorFlow 1.9 for Jetson TX2.

Key Features and Enhancements

This release includes the following key features and enhancements.
  • Support executing inference workloads with TensorFlow.

  • Optimizing TensorFlow models with TensorRT for inference workloads.

Compatibility

Limitations Of TensorFlow 1.9 For Jetson TX2

There are some limitations you may experience after installing TensorFlow for Jetson TX2, such as:
  • TensorFlow for Jetson TX2 is targeted for inference, not training.

  • Some NVIDIA tools, for example nvidia-smi, are not supported on the Jetson platform. For more information, see the Jetpack documentation.

  • Jetson TX2 has only 32GB of eMMC storage and thus, certain applications may require external memory. This also applies to tests which generate a large cache or rely on large datasets.

  • Compiling TensorFlow for Jetson TX2 takes longer than doing so on a typical desktop with a more powerful CPU.

  • Jetson TX2 has 8GB of memory which is shared between the CPU and GPU. This can cause problems in memory management. For example, some applications that work on a GPU with 8GB of memory may not work on Jetson TX2 because not all the 8GB is available to the GPU.

Using TensorFlow 1.9 With Jetson TX2

Memory
If you observe out of memory problems, use config.gpu_options.allow_growth = True and/or decrease the fraction of the memory TensorFlow will use. For example, config.gpu_options.per_process_gpu_memory_fraction = 0.4.

Storage
If you need more storage (Jetson TX2 has only 32GB), you can connect an external SSD drive using either the SATA connector directly or a cable.

Operators
If you want to see which operators of your graph are placed on Jetson TX2, use tf.ConfigProto(log_device_placement=True to see all the device placements.

Known Issues

  • TensorFlowSpaceToBatchND and BatchToSpaceND ops produce incorrect GPU results on Jetson TX2 with JetPack 3.2.

  • Some TensorFlow unit tests fail on Jetson TX2. The causes of these failures include double-precision tensors, out of memory due to storing lots of information by the tests, importing certain Python packages such as portpicker, the inability to find certain libraries and libcupti.so couldn't be accessed.