Tensorflow: оптимизируйте график для логического вывода. Укажите форму для ввода заполнителя

Этот вопрос связан с Поменять входной набор данных TensorFlow конвейер с заполнителем после обучения

У меня есть график, который я хочу оптимизировать для вывода с помощью TensorRT. Чтобы получить график, исключая часть входного конвейера, которую я делаю:

python optimize_for_inference.py \
--input=frozen_model.pb \
--output=inference.pb \
--frozen_graph=True \
--input_names=IteratorGetNext
--output_names=name_of_the_output_tensor_you_want_to_use

«Это заменит узел IteratorGetNext заполнителем с плавающей запятой. Возможно, вы захотите выбрать другой узел, и в этом случае просто измените имя. Вы также можете изменить тип сгенерированного заполнителя с помощью параметра --placeholder_type_enum. В этом случае вы необходимо предоставить целочисленное значение, соответствующее требуемому типу данных из перечисления DataType». (ответьте на этот вопрос Поменяйте местами ввод набора данных TensorFlow конвейер с заполнителем после обучения )

Однако заполнитель float не имеет формы. При предоставлении графика TensorRT происходит сбой, потому что эта форма отсутствует. Можно ли придать форму этому заполнителю поплавка?

Чтобы быть более конкретным, ошибка, выдаваемая TensorRT,

tensorflow.python.framework.errors_impl.NotFoundError: нет атрибута с именем «форма» в NodeDef: [[Node: input_images = Placeholderdtype=DT_FLOAT]] для «input_images» (op: «Placeholder») с входными формами: .


person Derk    schedule 18.11.2018    source источник
comment
Вы решили эту проблему? Я получаю ту же проблему сейчас.   -  person An Phú    schedule 30.08.2019