Inception V3 переобучил некорректные прогнозы модели после использования инструментов optimize_for_inference и graph_transform - PullRequest
0 голосов
/ 09 мая 2018

У меня есть модель, созданная с использованием тензора потока для учебника поэтов. У меня есть как бинарные, так и 3-классные модели, демонстрирующие одинаковое поведение.

Диаграмма forzen работает, как и ожидалось, но как только я преобразую ее для использования с модулем opencv dnn, предсказания будут далеки от обычного, обычно отдавая предпочтение одному классу перед другими.

Я использовал описанные здесь преобразования: http://answers.opencv.org/question/175699/readnetfromtensorflow-fails-on-retrained-nn/

и здесь https://www.tensorflow.org/mobile/prepare_models

Ниже выводится итоговый график после каждого преобразования. На всякий случай, если вы видите что-то необычное:

**original** 
--------
No inputs spotted.
No variables spotted.
Found 1 possible outputs: (name=final_result, op=Softmax) 
Found 21826166 (21.83M) const parameters, 0 (0) variable parameters, and 99 control_edges
Op types used: 489 Const, 101 Identity, 99 CheckNumerics, 94 Relu, 94 BatchNormWithGlobalNormalization, 94 Conv2D, 11 Concat, 9 AvgPool, 5 MaxPool, 1 DecodeJpeg, 1 ExpandDims, 1 Cast, 1 MatMul, 1 Mul, 1 PlaceholderWithDefault, 1 Add, 1 Reshape, 1 ResizeBilinear, 1 Softmax, 1 Sub
-----------------------

**After optimize_for_inference**
----------------------------
Found 1 possible inputs: (name=DecodeJpeg/contents, type=float(1), shape=None) 
No variables spotted.
Found 1 possible outputs: (name=final_result, op=Softmax) 
Found 21774517 (21.77M) const parameters, 0 (0) variable parameters, and 0 control_edges
Op types used: 206 Const, 94 BiasAdd, 94 Conv2D, 94 Relu, 11 Concat, 9 AvgPool, 5 MaxPool, 1 Sub, 1 Add, 1 Softmax, 1 ResizeBilinear, 1 Reshape, 1 PlaceholderWithDefault, 1 Placeholder, 1 Mul, 1 MatMul, 1 ExpandDims, 1 DecodeJpeg, 1 Cast
-----------------------------
**transform_graph with strip_unused**

Found 1 possible inputs: (name=Mul, type=float(1), shape=[1,299,299,3]) 
No variables spotted.
Found 1 possible outputs: (name=final_result, op=Softmax) 
Found 21826160 (21.83M) const parameters, 0 (0) variable parameters, and 99 control_edges Op types used: 484 Const, 101 Identity, 99 CheckNumerics, 94 BatchNormWithGlobalNormalization, 94 Conv2D, 94 Relu, 11 Concat, 9 AvgPool, 5 MaxPool, 1 Add, 1 MatMul, 1 Placeholder, 1 PlaceholderWithDefault, 1 Reshape, 1 Softmax
------------------------

Мне интересно, что может быть причиной и как поддерживать производительность вывода при развертывании графика.

1 Ответ

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

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

Эта ссылка довольно хорошо описывает проблему - https://r2rt.com/implementing-batch-normalization-in-tensorflow.html

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