Нужно ли некоторым из предварительно обученных сетей Keras проводить предварительную обработку перед использованием? - PullRequest
0 голосов
/ 30 апреля 2020

Привет всем, у меня есть этот базовый c вопрос, который не связан с каким-либо конкретным фрагментом кода

Я слежу за некоторыми статьями об использовании CNN для оценки качества изображений и, в все они, используемые сети - это те, которые предлагаются кера-приложениями (VGG16-19, Re sNet ..) с некоторыми вариациями, в зависимости от документа

Часто в этих работах вариации базовых c сетей не привязаны к ним, но действительны для всей статьи, то есть единственными отличиями должны быть размер входного изображения и заданная c функция предварительной обработки изображения, последние также предусмотрены в keras- application. "basi c network name"

У меня вопрос: достаточно ли того, что я делаю, потому что, на самом деле, когда я пытаюсь воспроизвести результаты статьи, есть сети, которые не справляются ( результаты не так уж плохи, это означает, что сеть все еще тренируется в правильном направлении) по сравнению с ожидаемыми результатами, но другие этого не делают. В частности, у меня были проблемы с ResNet50 и VGG16, но не с Mobil eNet v1 / v2 и InceptionV3: независимо от того, какую скорость обучения (или даже отсевы) я использую, потери проверки, полученные в конце тренингов, почти На 10% хуже, чем опубликованные результаты при использовании Re sNet или VGG

. Я уверен, что код верен, как я сказал, единственная разница при изменении загруженной сети basi c заключается в том, какое изображение предварительно функция обработки выбрана. На данный момент у меня есть две возможные идеи:

  1. Я использую другую настройку по сравнению с бумагами (тензор потока 1.15), и в приложениях Keras есть какая-то ошибка. Фактически, последняя опубликованная версия этого модуля имеет некоторые ошибки, связанные с предварительной обработкой, в том смысле, что код выдал исключение, когда я попробовал его в первый раз. Покопавшись на их странице Git, я обнаружил, что эта проблема привела к ошибке, которая уже была исправлена ​​в последнем коммите (еще не опубликованном в соответствующем выпуске). К сожалению, это не означает, что его поведение не прослушивается, но я не могу проверить это самостоятельно
  2. В некоторых сетях, таких как VGG16 и ResNet50, предъявляются дополнительные требования для правильной работы, и я их пропускаю, что вы можете сказать мне по своему опыту? Вы оказались в такой ситуации, как моя? Обратите внимание, что я не говорю о таких параметрах, как отсев, скорость обучения и т. Д. c .., поскольку они предоставлены бумагами, мне интересно, например, может ли функция и относительная интерполяция, используемые для загрузки изображений, материя любым способом
...