Пример #1
0
 def __call__(self, w):
     maximum_weight = K.max(K.abs(w))
     w = w / (K.epsilon() + maximum_weight)  # On [-1,1].
     signs = K.sign(w)
     unsigned_w = K.abs(w)  # On [0,1].
     edge_scaled_w_unsigned = unsigned_w * (
         1. - self.min_value) + self.min_value  # On [min_value,1].
     edge_scaled_w = signs * edge_scaled_w_unsigned  # On [-1,-min_value] U [min_value,1].
     return edge_scaled_w
Пример #2
0
 def __call__(self, w):
     # First apply DivideByMax.
     maximum_weight = K.max(K.abs(w))
     w = w / (K.epsilon() + maximum_weight)  # On [-1, 1].
     # Then apply MinMaxNorm.
     norms = K.sqrt(
         math_ops.reduce_sum(math_ops.square(w),
                             axis=self.axis,
                             keepdims=True))
     desired = (self.rate * K.clip(norms, self.min_value, self.max_value) +
                (1 - self.rate) * norms)
     return w * (desired / (K.epsilon() + norms))
Пример #3
0
def softmax(x, axis=-1):
  """Softmax activation function.

  Arguments:
      x : Tensor.
      axis: Integer, axis along which the softmax normalization is applied.

  Returns:
      Tensor, output of softmax transformation.

  Raises:
      ValueError: In case `dim(x) == 1`.
  """
  ndim = K.ndim(x)
  if ndim == 2:
    return K.softmax(x)
  elif ndim > 2:
    e = K.exp(x - K.max(x, axis=axis, keepdims=True))
    s = K.sum(e, axis=axis, keepdims=True)
    return e / s
  else:
    raise ValueError('Cannot apply softmax to a tensor that is 1D')
Пример #4
0
def sparse_top_k_categorical_accuracy(y_true, y_pred, k=5):
  return K.mean(K.in_top_k(y_pred,
                           K.cast(K.max(y_true, axis=-1), 'int32'), k), axis=-1)
Пример #5
0
def sparse_categorical_accuracy(y_true, y_pred):
  return K.cast(
      K.equal(
          K.max(y_true, axis=-1), K.cast(K.argmax(y_pred, axis=-1),
                                         K.floatx())), K.floatx())
Пример #6
0
 def call(self, inputs):
   if self.data_format == 'channels_last':
     return K.max(inputs, axis=[1, 2, 3])
   else:
     return K.max(inputs, axis=[2, 3, 4])
Пример #7
0
 def call(self, inputs):
   return K.max(inputs, axis=1)
Пример #8
0
 def call(self, inputs):
   if self.data_format == 'channels_last':
     return K.max(inputs, axis=[1, 2, 3])
   else:
     return K.max(inputs, axis=[2, 3, 4])
Пример #9
0
 def call(self, inputs):
   return K.max(inputs, axis=1)
Пример #10
0
def categorical_hinge(y_true, y_pred):
  pos = K.sum(y_true * y_pred, axis=-1)
  neg = K.max((1. - y_true) * y_pred, axis=-1)
  return K.maximum(neg - pos + 1., 0.)
Пример #11
0
 def call(self, inputs):
     return backend.max(inputs, axis=1)
Пример #12
0
def sparse_top_k_categorical_accuracy(y_true, y_pred, k=5):
    return K.mean(K.in_top_k(y_pred, K.cast(K.max(y_true, axis=-1), 'int32'),
                             k),
                  axis=-1)
Пример #13
0
def sparse_categorical_accuracy(y_true, y_pred):
    return K.cast(
        K.equal(K.max(y_true, axis=-1),
                K.cast(K.argmax(y_pred, axis=-1), K.floatx())), K.floatx())
Пример #14
0
 def call(self, inputs):
   return backend.max(inputs, axis=1)
Пример #15
0
 def __call__(self, w):
     maximum_weight = K.max(K.abs(w))
     return w / (K.epsilon() + maximum_weight)