Как добавить пользовательский слой в керасе

Сначала передайте функцию setTimeout.

Во-вторых, вам будет лучше, если вы установите таймаут для следующего в очереди после завершения текущего.

В цикле for:

sendEmail(0); // start sending first

и в обратном вызове:

      , function(data) {
          if(id < 19) { // if next should be sent
              setTimeout(function() {
                  SendEmail(id + 1);
              }, 5000);
          }
          var toAppend = "<span>     " + data + "</span>"
          $("#sentTo").append(toAppend);
      }
0
задан Tiw 20 March 2019 в 08:30
поделиться

1 ответ

Вы можете использовать модифицированную активацию ReLU с некоторыми операциями деления. Следующее решение мало модифицировано, потому что оно выдает 0 для x == 0.5.

Выход O (x) может быть переписан как

equ1

Теперь пользовательский слой будет



class CustomReLU(Layer):

    def __init__(self, **kwargs):
        super(CustomReLU, self).__init__(**kwargs)

    def build(self, input_shape):

        super(CustomReLU, self).build(input_shape)  

    def call(self, x):
        relu = ReLU()
        output = relu(x-0.5)/(x-0.5)
        return output

    def compute_output_shape(self, input_shape):
        return input_shape

Редактировать: [114 ]

Для х = 0,5 приведенное выше уравнение и код могут быть легко изменены следующим образом. equ1 ,
где (x==0.5) оценивается как 1, если x равно 0,5 и 0 в любом случае.

import keras.backend as K

class CustomReLU(Layer):

    def __init__(self, **kwargs):
        super(CustomReLU, self).__init__(**kwargs)

    def build(self, input_shape):

        super(CustomReLU, self).build(input_shape)  

    def call(self, x):
        relu = ReLU()
        output = relu(x-0.5)/(x-0.5) + K.cast(K.equal(x, 0.5), K.floatx())
        return output

    def compute_output_shape(self, input_shape):
        return input_shape

0
ответ дан Mitiku 20 March 2019 в 08:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: