Установите Tensorflow с поддержкой квантования

python tensorflow quantization tensorboard

2354 просмотра

2 ответа

39389 Репутация автора

Это продолжение моего вопроса: ошибка с 8-битным квантованием в Tensorflow

По сути, я хотел бы установить Tensorflow с поддержкой 8-битного квантования. В настоящее время я установил Tensorflow 0.9 методом pip на компьютере CentOS 7 (без поддержки GPU).

Я мог бы скомпилировать и запустить коды, как указано в сообщении в блоге Пита Уордена. Но я не могу импортировать функции, указанные в ответе Пита Уордена. Я хотел бы добавить поддержку квантования. Я также не смог найти подробностей о части квантования в документации Tensorflow.

Кто-нибудь может поделиться подробностями о том, как это сделать?

Автор: Abid Rahman K Источник Размещён: 18.07.2016 04:45

Ответы (2)


3 плюса

39389 Репутация автора

Решение

На время я мог бы найти способ сделать это. Но все еще жду официального метода от любого разработчика TensorFlow.

  1. Сначала установите тензор потока (я пробовал как установку исходного кода, так и установку PIP, оба в порядке)
  2. Получите источник тензорного потока из репозитория Github и перейдите в корневую директорию тензорного потока (я бы назвал это tensorflow_root.
  3. Теперь скомпилируйте скрипт квантования, приведенный в блоге Пита Уордена.

bazel build tensorflow/contrib/quantization/tools:quantize_graph

Это создаст ops библиотеки для квантованных версий. Перейдите к tenorflow_root / bazel-bin / tenorflow / contrib / quanization, и вы увидите два библиотечных файла: _quantized_ops.soиkernels/_quantized_kernels.so

  1. Теперь в вашем скрипте, наряду с tenorflow, вы должны также импортировать эти два библиотечных файла, используя специальную функцию tenorflow

Вы можете сделать это с помощью tf.load_op_library () функцию

import tensorflow as tf
qops = tf.load_op_library('[tensorflow_root]/bazel-bin/tensorflow/contrib/quantization/_quantized_ops.so')
qkernelops = tf.load_op_library('[tensorflow_root]/bazel-bin/tensorflow/contrib/quantization/kernels/_quantized_kernels.so')
Автор: Abid Rahman K Размещён: 21.07.2016 06:00

0 плюса

41 Репутация автора

Используете ли вы GPU или процессор версию tenorflow.

например, он не работает на процессоре, хотя, как упомянул Abid, загружает библиотеки ops из локального рабочего каталога.

Но какой смысл использовать сборку Bazel, когда в последней версии эти операции интегрированы и импортируются без ошибок.

$ khemant@saturn:~/DeepLearning/TF$ python -c "import tensorflow as tf; print(tf.__version__)"

0.12.0-RC0

$ khemant@saturn:~/DeepLearning/TF$ python

Python 2.7.6 (по умолчанию, 26 октября 2016 г., 20:30:19) [GCC 4.8.4] в linux2 Для получения дополнительной информации введите «help», «copyright», «credits» или «license».

>>> from tensorflow.contrib.quantization import load_quantized_ops_so

Traceback (последний вызов был последним): файл "", строка 1, в ImportError: невозможно импортировать имя load_quantized_ops_so

>>> import tensorflow as tf

>>> from tensorflow.contrib.quantization import load_quantized_ops_so

Traceback (последний вызов был последним): файл "", строка 1, в ImportError: невозможно импортировать имя load_quantized_ops_so `

Автор: Hemant K. Размещён: 08.12.2016 11:17
Вопросы из категории :
32x32