Изменение переменной в лямбда-слое в предварительно обученной модели? - PullRequest
0 голосов
/ 18 февраля 2019

Я импортировал и модель pytorch в keras, используя pytorch2keras, и сделал ввод гибким с [None, 3,224,224] до [None, 3,224,224].К сожалению, в исходной модели есть лямбда-слой, уменьшающий выход сверточного слоя на 1, например [Нет, 3111111] -> [Нет, 3110, 110].

Как я могу указать в моей конфигурациичто я хотел бы сделать [Нет, 3, Нет, нет] -> [Нет, 3, Нет-1, Нет-1]?

Форма лямбда-слоя здесь жестко закодирована (см. ниже строку: (3,0,110)):

[...,  
{'name': 'lambda_2',
  'class_name': 'Lambda',
  'config': {'name': 'lambda_2',
   'trainable': True,
   'function': ('4wQAAAAAAAAABAAAAAYAAABTAAAAc34AAAB8AWQBawJyFHwAfAJ8A4UCGQBTAHwBZAJrAnIwfABk\nAGQAhQJ8AnwDhQJmAhkAUwB8AWQDawJyUnwAZABkAIUCZABkAIUCfAJ8A4UCZgMZAFMAfAFkBGsC\ncnp8AGQAZACFAmQAZACFAmQAZACFAnwCfAOFAmYEGQBTAGQAUwApBU7pAAAAAOkBAAAA6QIAAADp\nAwAAAKkAKQTaAXjaBGF4aXPaBXN0YXJ02gNlbmRyBQAAAHIFAAAA+j4vdXNyL2xvY2FsL2xpYi9w\neXRob24zLjYvZGlzdC1wYWNrYWdlcy9weXRvcmNoMmtlcmFzL2xheWVycy5wedoMdGFyZ2V0X2xh\neWVypgQAAHMQAAAAAAEIAQwBCAEUAQgBGgEIAQ==\n',
    (3,0,110),
    None),
   'function_type': 'lambda',
   'output_shape': None,
   'output_shape_type': 'raw',
   'arguments': {}},
  'inbound_nodes': [[['lambda_1', 0, 0, {}]]]},
..]

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете попробовать заменить функцию на lambda x: x[:,:,:-1,:-1].(Если позже вы решите использовать channel_last, то lambda x: x[:,:-1, :-1].

Не знаете, что делать с аргументом (3,0,110), но это не нужно.

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