Заморозить график TensorFlow для использования в приложении iOS
У меня есть следующие файлы: 1. retrained_graph.pb 2. retrained_labels.txt 3. _retrain_checkpoint.meta 4. _retrain_checkpoint.index 5. _retrain_checkpoint.data-00000-of-00001 6. контрольная точка
Команда выполнена:
python freeze_graph.py
--input_graph=/Users/saurav/Desktop/example/tmp/retrained_graph.pb
--input_checkpoint=./_retrain_checkpoint
--output_graph=/Users/saurav/Desktop/example/tmp/frozen_graph.pb --output_node_names=softmax
Получение ошибки: UnicodeDecodeError : кодек "utf-8" не может декодировать байт 0xff в позиции 44: недопустимый начальный байт
1 ответ
Наконец я нашел ответ. Чтобы заморозить график, вам нужно построить с помощью "Базель".
1. Установите базель с помощью доморощенного. brew install bazel
2. Если у вас нет доморощенного, установите его.
/usr/bin/ruby -e "$(curl -fsSL \
https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Клонирование тензорного потока по команде
git clone https://github.com/tensorflow/tensorflow
- Смени каталог на тензор потока в терминале
- запустить команду./Configure. Он просит ответить на несколько вопросов в соответствии с вашими потребностями. Большинство из них вы можете ввести "НЕТ". Он запрашивает путь по умолчанию к Python, вам нужно указать путь или просто нажать "enter".
- Теперь создайте базу для freeze_graph с помощью команды:
bazel build tensorflow/python/tools:freeze_graph
- Храните переученный график и контрольные точки в папке.
- Запустите команду bazel, чтобы заморозить график.
bazel-bin/tensorflow/python/tools/freeze_graph \ --input_graph=YouDirectory/retrained_graph.pb \ --input_checkpoint=YouDirectory/_retrain_checkpoint \ --output_graph=YouDirectory/frozen_graph.pb