Как запустить поддельный квантованный граф на GPU? - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть квантизованная мобильная сеть, загруженная с здесь . Этот график содержит фальшивые узлы квантования во время обучения для имитации вывода времени тестирования. Я хочу собрать выходные данные из последнего поточечного сверточного слоя этой сети.

Квантованная замороженная модель содержит дополнительные слои fc, softmax и т. Д., Которые не нужны для моего приложения.

У меня есть следующий код для загрузки графика.

def load_graph(frozen_graph_filename):
    # We load the protobuf file from the disk and parse it to retrieve the
    # unserialized graph_def
    with tf.gfile.GFile(frozen_graph_filename, "rb") as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())

with tf.Graph().as_default() as graph:
    # The name var will prefix every op/nodes in your graph
    # Since we load everything in a new graph, this is not needed
    tf.import_graph_def(graph_def, name="prefix")
return graph

graph1 = load_graph("./quantized_fake.pb")

input = graph1.get_tensor_by_name('prefix/input:0')
output = graph1.get_tensor_by_name('prefix/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Conv2D_Fold:0')

Затем запустите с помощью sess.run (), однако я вижу, что вывод уровня свертки не квантуется (8 бит), как должно быть, когда он будет работать на мобильном телефоне.

Как получить такой же вывод, как на мобильном устройстве, при запуске кода на моем компьютере.

Можно ли использовать файлы tflite для вывода на ПК?

1 Ответ

0 голосов
/ 02 мая 2018

Фальсифицированный квантованный граф TensorFlow на самом деле не квантуется, в него вставлено операций поддельного квантования , которые эмулируют квантование. Они конвертируются только в полностью квантованные операции TensorFlow Lite. Вот почему запуск поддельного квантованного графика TensorFlow приведет только к плавающим значениям, а не к квантованным значениям.

Квантование TensorFlow Lite в настоящее время только для ЦП и может быть запущено на ЦП ПК. Вот пример того, как вызывать интерпретатор TFLite для запуска на вашем ПК.

...