Преобразовать тензорный поток.pb в.dlc не удается с помощью snpe

Я строю демо. Я сохраняю график в файл pb. Я получаю ошибку, когда я конвертирую pb в dlc. Кто-нибудь знает почему? Думает!

мой код для построения модели

import tensorflow as tf
from tensorflow.python.framework.graph_util import convert_variables_to_constants
from tensorflow.python.ops import variable_scope

X = tf.placeholder(tf.float32, shape=[None, 1], name="input");


with variable_scope.variable_scope("input"):
    a = tf.Variable([[1]], name="a", dtype=tf.float32);
    g = X * a


with variable_scope.variable_scope("output"):
    b = tf.Variable([[0]], name="b", dtype=tf.float32);
    ss = tf.add(g, b, name="output")


sess = tf.Session();
sess.run(tf.global_variables_initializer());


graph = convert_variables_to_constants(sess, sess.graph_def, ["output/output"])
tf.train.write_graph(graph, './linear/', 'graph.pb', as_text=False)

sess.close();

преобразовать cmd

snpe-tensorflow-to-dlc --graph graph_sc.pb -i input 1 --out_node output/output --allow_unconsumed_nodes

сообщение об ошибке

2017-10-26 01:55:15,919 - 390 - INFO - INFO_ALL_BUILDING_LAYER_W_NODES: Уровень здания (ElementWiseMul) с узлами: [u'input_1 / mul ']

~ / snpe-sdk / snpe-1.6.0 / lib / python / преобразователи / тензор потока / слои /eltwise.py:108: RuntimeWarning: error_code=1002; error_message= Значение параметра слоя недопустимо. Слой input_1 / mul: требуется как минимум два входа, иметь 1; error_component= Проверка модели; LINE_NO =732; идентификатор_потока =140514161018688 имя_выхода)

2017-10-26 01: 55: 15,920 - 390 - INFO - INFO_ALL_BUILDING_LAYER_W_NODES: Уровень здания (ElementWiseSum) с узлами: [u'output / output ']

~ / snpe-sdk / snpe-1.6.0 / lib / python / преобразователи / tenorflow/ слои /eltwise.py:84: RuntimeWarning: error_code=1002; error_message= Значение параметра слоя недопустимо. Уровень вывода / вывода: требуется как минимум два входа, имеют 1; error_component= Проверка модели; LINE_NO =732; идентификатор_потока =140514161018688 имя_выхода)

1 ответ

Аргумент input_dim для snpe-tensorflow-to-dlc должен иметь трехмерные тензоры, как в примере ниже,

snpe-tensorflow-to-dlc --graph $SNPE_ROOT/models/inception_v3/tensorflow/inception_v3_2016_08_28_frozen.pb
                       --input_dim input "1,299,299,3" --out_node "InceptionV3/Predictions/Reshape_1" --dlc inception_v3.dlc
                       --allow_unconsumed_nodes

Для получения более подробной информации о преобразовании модели TensorFlow в DLC с помощью SDK нейронной обработки перейдите по ссылке ниже: https://developer.qualcomm.com/docs/snpe/model_conv_tensorflow.html

SNPE требует 3D-тензор в качестве входных данных. Попробуй обновить свою команду -i input 1 в -i input 1,1,1

Другие вопросы по тегам