TensorFlow AttributeError: модуль tenorflow.contrib.lite.python.lite не имеет атрибута TFLiteConverter - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь преобразовать файл замороженного графика (.pb) в файл TensorFlow Lite FlatBuffer (.tflite) в Raspberry Pi 3B + Linux.TensorFlow был установлен в Python с использованием pip3;TensorFlow Lite был установлен и собран (статическая библиотека) из исходного кода.Версия TensorFlow (установлена ​​в Python): 1.11.0.

Я получаю эту ошибку: Attributeerror: модуль 'tenorflow.contrib.lite.python.lite' не имеет атрибута 'TFLiteConverter'.

Вот код Python (полученный из https://www.tensorflow.org/lite/convert/python_api):

#!/usr/bin/python3
import tensorflow as tf
print("tf version = " + tf.version)
graph_def_file = "/home/pi/sols/demo/src/image_classification/network/fruit_models/frozen_graph.pb"
input_arrays = ["X"]
output_arrays = ["softmax"]
converter = tf.contrib.lite.TFLiteConverter.from_frozen_graph(
graph_def_file, input_arrays, output_arrays)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

Пожалуйста, помогите!

Ответы [ 3 ]

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

Я думаю, что проблема в том, что документы отражают последнюю версию.В 1.11.0 оно, вероятно, имело другое имя и было переименовано в TFLiteConverter.

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

Кажется, это зависит от используемой вами версии tenorflow:

>>> import tensorflow as tf
>>> dir(tf.contrib.lite)
['DecodeError', 'Interpreter', 'OpHint', 'PY3', 'TocoConverter', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_freeze_graph', '_freeze_saved_model', '_get_tensors_from_tensor_names', '_global_variables_initializer', '_graph_pb2', '_import_graph_def', '_is_frozen_graph', '_keras', '_session', '_set_tensor_shapes', '_signature_constants', '_tag_constants', '_tensor_name', '_text_format', '_tf_graph_util', 'absolute_import', 'build_toco_convert_protos', 'constants', 'convert_op_hints_to_stubs', 'division', 'print_function', 'toco_convert', 'toco_convert_protos']
>>> tf.__version__
'1.10.0'

Так что в более старых версиях это TocoConverter

https://www.tensorflow.org/api_docs/python/tf/contrib/lite/TocoConverter

0 голосов
/ 11 декабря 2018

TfliteConverter и TocoConverter кажутся очень проблематичными на всех ОС, кроме Mac.Вы все еще можете конвертировать модель в TensorFlow Lite, выполнив следующие действия:

  1. Создайте новый блокнот Google Colab
  2. Введите код для преобразования модели.Импортируйте TFLiteConverter и другие материалы.
  3. Загрузите модель в записную книжку.
  4. Запустите записную книжку.
  5. Загрузите созданный файл TFLite.

Вы можете использовать этот ноутбук .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...