Performance

Performance is often a significant issue when training a machine learning
model. This section explains various ways to optimize performance. Start
your investigation with the following guide:

  • @{$performance_guide$Performance}, which contains a collection of best
    practices for optimizing your TensorFlow code.

XLA (Accelerated Linear Algebra) is an experimental compiler for linear
algebra that optimizes TensorFlow computations. The following guides explore
XLA:

  • @{$xla$XLA Overview}, which introduces XLA.
  • @{$broadcasting$Broadcasting Semantics}, which describes XLA’s
    broadcasting semantics.
  • @{$developing_new_backend$Developing a new back end for XLA}, which
    explains how to re-target TensorFlow in order to optimize the performance
    of the computational graph for particular hardware.
  • @{$jit$Using JIT Compilation}, which describes the XLA JIT compiler that
    compiles and runs parts of TensorFlow graphs via XLA in order to optimize
    performance.
  • @{$operation_semantics$Operation Semantics}, which is a reference manual
    describing the semantics of operations in the ComputationBuilder
    interface.
  • @{$shapes$Shapes and Layout}, which details the Shape protocol buffer.
  • @{$tfcompile$Using AOT compilation}, which explains tfcompile, a
    standalone tool that compiles TensorFlow graphs into executable code in
    order to optimize performance.

And finally, we offer the following guide:

  • @{$quantization$How to Quantize Neural Networks with TensorFlow}, which
    can explains how to use quantization to reduce model size, both in storage
    and at runtime. Quantization can improve performance, especially on
    mobile hardware.