Какие параметры input_arrays и output_arrays необходимы для преобразования файла «.pb» замороженной модели в файл «.tflite»? - PullRequest
1 голос
/ 24 марта 2019

Мне нужно преобразовать мою модель .pb тензорного потока вместе с моим .cpkt файлом в модель tflite, чтобы она работала на мобильных устройствах. Есть ли какой-нибудь простой способ узнать, как я могу найти, какие параметры мне следует использовать для input_arrays и output_arrays?

import tensorflow as tf

graph_def_file = "/path/to/Downloads/mobilenet_v1_1.0_224/frozen_graph.pb"
input_arrays = ["input"]
output_arrays = ["MobilenetV1/Predictions/Softmax"]

converter = tf.lite.TFLiteConverter.from_frozen_graph(
  graph_def_file, input_arrays, output_arrays)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

1 Ответ

0 голосов
/ 24 марта 2019

Согласно официальным документам здесь :

input_arrays: список входных тензоров для замораживания графа.

output_arrays: список выходных тензоров для замораживания графа.

Значение, input_arrays - это список входных тензоров (которые в основном являются тензорами-заполнителями). output_arrays - это список Tensor объектов, которые будут действовать как выходные данные.

В вашем случае вы предоставляете name объекта Tensor. Требуется фактический объект Tensor.

Вы можете понять это на следующем примере:

x1 = tf.placeholder( dtype=tf.float32 )
x2 = tf.placeholder( dtype=tf.float32 )
y = x1 + x2

input_arrays = [ x1 , x2 ]
output_arrays = [ y ]

Вы можете узнать, как найти входные и выходные тензоры из здесь . Видя ваш код, кажется, что вы знаете имена тензоров, поэтому вы можете сослаться на этот ответ .

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