У меня есть нейронная сеть, которая использует функцию активации Hard Sigmoid .
Однако версия функции активации keras не используется, вместо этого она вычисляется следующим образом:
def hard_sigmoid(x):
return layers.ReLU(6.)(x + 3.) * (1. / 6.)
Это означает, что параметр alpha
должен быть установлен на 0.1667
, а не на значение по умолчанию 0.2
, указанное в ссылке выше.
Кажется, что при преобразовании TFLite процесс запущен, имя hard_sigmoid распознается как функция keras. Это означает, что моя модель выводит ерунду.
Тот же процесс преобразования coreML позволяет мне напрямую редактировать файл protobuf базовой модели, чтобы указать правильное значение для альфы.
Есть ли хороший способ решить это для TFLite?