Я не думаю, что есть существенная разница между двумя реализациями по скорости.
Реализация Lambda на самом деле самая простая, но написание пользовательского слоя, как вы это обычно делаете, обычно лучше, особенно в том, что касается сохранения и загрузки модели (метод get_config ).
Но в этом случае это не имеет значения, поскольку CReLU тривиален и не требует сохранения и восстановления параметров. Вы можете сохранить параметр оси фактически как в коде ниже. Таким образом, он будет получен автоматически при загрузке модели.
class CRelu(Layer):
def __init__(self, axis=-1, **kwargs):
self.axis = axis
super(CRelu, self).__init__(**kwargs)
def build(self, input_shape):
super(CRelu, self).build(input_shape)
def call(self, x):
x = tf.nn.crelu(x, axis=self.axis)
return x
def compute_output_shape(self, input_shape):
output_shape = list(input_shape)
output_shape[-1] = output_shape[-1] * 2
output_shape = tuple(output_shape)
return output_shape
def get_config(self, input_shape):
config = {'axis': self.axis, }
base_config = super(CReLU, self).get_config()
return dict(list(base_config.items()) + list(config.items()))
я сделал несколько вещей, которые, как мне показалось, заставили его работать после получения того же «Параметр неверен». Ошибка.
1) Перезапустил машину и сделал это снова. это сработало в первый раз. 2) удостоверился, что я нахожусь в c: \ и снова ввел команду после перезапуска, не сработало
, я не мог объяснить, почему, но я думаю, что, может быть, оба раза было что-то не так. потому что в третий раз это случилось со мной,
3) я просмотрел отпечаток моего CA (не выданного сертификата сервера) и снова скопировал его из MMC, и он заработал.
после этого я удалил его еще раз (netsh http delete sslcert ipport = 0.0.0.0 :) и повторил процесс, используя отпечаток сертификата сервера. Проклятая вещь снова сработала.
Я не знаю, просто попробуй повторить то же, что и я. возможно, один из них сработает. В конце концов, я подозреваю, что я ввел поддельное пространство или символ в certhash.
Глядя на синтаксис команды netsh, я увидел следующий пример:
add sslcert ipport=1.1.1.1:443 certhash=0102030405060708090A0B0C0D0E0F1011121314 appid={00112233-4455-6677-8899-AABBCCDDEEFF}
Похоже, ваша проблема в том, что вы делаете
ipport:10.141.146.227:7001
^
, а не
ipport=10.141.146.227:7001
^
Я тоже получал эту ошибку, когда только начинал работать с http.sys. После того, как я запустил:
netsh http add iplisten ipaddress=0.0.0.0
, команды netsh http add sslcert
начали работать правильно.