Debugging failures in TF/TFLite integration tests.

These are steps to reproduce/address failures in TF/TFLite integration tests. All steps here assume starting from the IREE root directory.

  1. First setup the python environment as described here.
python -m venv iree.venv
source iree.venv/bin/activate
  1. Install latest IREE release binaries. The importers are not expected to change much, so using the release binaries should work for most cases
python -m pip install iree-compiler iree-runtime iree-tools-tf iree-tools-tflite -f https://github.com/google/iree/releases/latest
  1. Install TF nightly
python -m pip install tf-nightly Pillow
  1. Run the python test command line. The command can be obtained from the run file. For example, if iree_tfl_tests/llvmaot_posenet_i8.run failed,
cd integrations/tensorflow/test/
cat iree_tfl_tests/llvmaot_posenet_i8.run

# REQUIRES: llvmaot
# RUN: %PYTHON -m iree_tfl_tests.posenet_i8_test --target_backend=llvmaot -artifacts_dir=%t

cd python/
python -m iree_tfl_tests.posenet_i8_test -- target_backend=llvmaot -artifacts_dir=/tmp/posenet_i8_failure

Note that the command can only be run under integrations/tensorflow/test/python directory.

  1. This will create an iree_input.mlir in the temp directory specified. Those can then be fed into iree-compile (built locally to reproduce the error)
iree-compile -iree-mlir-to-vm-bytecode-module -iree-hal-target-backends=dylib-llvm-aot -iree-input-type=mhlo iree_input.mlir