Как открыть тензор потока xla - PullRequest
0 голосов
/ 19 октября 2018

Я попробовал пример в тензорном потоке / examples / tutorials / mnist и попытался применить xla для ускорения.Тем не менее, я не вижу XlaLaunch, как сказал https://www.tensorflow.org/performance/xla/jit.

Также я пытаюсь профилировать время выполнения по:

  train_loops = 100000
  t_start = time.time()
  for i in range(train_loops):
    batch_xs, batch_ys = mnist.train.next_batch(100)

    # Create a timeline for the last loop and export to json to view with
    # chrome://tracing/.
    if i == train_loops - 1:
      sess.run(train_step,
               feed_dict={x: batch_xs,
                          y_: batch_ys},
               options=tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE),
               run_metadata=run_metadata)
      trace = timeline.Timeline(step_stats=run_metadata.step_stats)
      with open('timeline.ctf.json', 'w') as trace_file:
        trace_file.write(trace.generate_chrome_trace_format())
    else:
      sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

  tdiff = time.time() - t_start
  print("tdiff", tdiff, " i = ", i)

enter image description here

Кажется, нет никакой разницы между с и без xla.

Я видел некоторые статьи, в которых говорилось, что я должен "перестроить" источник тензорного потока, чтобы открыть xla?я должен?

Есть ли другой способ открыть его?Или он был открыт по умолчанию, но я неправильно его использую.

Есть ли тест для профилирования ускорения после открытия xla?

Благодаря ~

1 Ответ

0 голосов
/ 26 февраля 2019

Последние двоичные файлы TensorFlow, доступные в pip, могут включать встроенную поддержку XLA.pip install tensorflow --upgrade --force-reinstall или pip install tensorflow-gpu --upgrade --force-reinstall обеспечат эту поддержку для вас (начиная с TF 1.12).Это работает для меня в Ubuntu с поддержкой NVIDIA GPU или без нее, но не на моем MacBook.Если ваш двоичный файл этого не делает, вы узнаете ниже при попытке использовать тест.

Если вы правильно вызываете JIT XLA, и у вас нет встроенной поддержки в двоичном файле, вы получите исключение.Что-то вроде

ValueError: Op type not registered 'XlaClusterOutput' in binary running on localhost. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) tf.contrib.resampler should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed. while building NodeDef 'tower_0/v/output0'

Если у вас это получилось, попробуйте установить последний тензор потока или даже tf-nightly.Если это не сработает, пора скрестить пальцы и собрать из исходного кода .

Где в вашем коде вы включили XLA?

Для теста производительности выможно попробовать в официальном репозитории TensorFlow Benchmarks здесь .Вы можете использовать синтетические данные, если у вас не загружен ImageNet.Вы можете включить или отключить XLA с флагом --xla_compile=True или False.

Например:

python tf_cnn_benchmarks.py --num_batches=2000 --xla_compile=True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...