Как заменить операции relu6 на обычные relu в контрольной точке Tensorflow?

На самом деле, прямой вопрос: мне нужно преобразовать имеющуюся у меня модель Tensorflow в формат, который не поддерживает relu6, а просто обычный relu. Моя модель представлена ​​в виде 3 файлов ckpt (контрольных точек) (данные, индекс и метафайлы). Мне нужно иметь возможность тренировать модель после преобразования слоев relu. Может ли кто-нибудь указать мне в правильном направлении, как это сделать. Благодарю вас!


person Michael Walker    schedule 28.03.2018    source источник


Ответы (1)


Для этого потребуется переписать граф тензорного потока. Один из файлов в вашей контрольной точке представляет собой сериализованный буфер протокола tensorflow::GraphDef; поиск в нем Relu6 и замена этих вхождений на Relu исправит график.

Однако на сегодняшний день большинство обучающих сценариев tensorflow не работают, загружая обучающий граф; вместо этого они перестраивают граф во время обучения и загружают существующую контрольную точку поверх перестроенного графа. Если вы находитесь в такой ситуации, вам лучше изменить код обучения python, чтобы он испускал tf.relu вместо Relu6.

person Alexandre Passos    schedule 28.03.2018