ó
¾÷Xc           @@  s»   d  d l  m Z d  d l Z d d l m Z d d l m Z d d „ Z d d	 „ Z	 d
 „  Z
 d „  Z d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d S(   i    (   t   absolute_importNi   (   t   backend(   t   deserialize_keras_objectiÿÿÿÿc         C@  s   t  j |  ƒ } | d k r( t  j |  ƒ S| d k r t  j |  t  j |  d | d t ƒƒ } t  j | d | d t ƒ} | | St d ƒ ‚ d S(   s  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`.
    i   t   axist   keepdimss+   Cannot apply softmax to a tensor that is 1DN(   t   Kt   ndimt   softmaxt   expt   maxt   Truet   sumt
   ValueError(   t   xR   R   t   et   s(    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR      s    (g      ð?c         C@  s   t  j |  | ƒ S(   N(   R   t   elu(   R   t   alpha(    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR      s    c         C@  s   t  j |  ƒ S(   N(   R   t   softplus(   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR   #   s    c         C@  s   t  j |  ƒ S(   N(   R   t   softsign(   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR   '   s    g        c         C@  s   t  j |  d | d | ƒS(   NR   t	   max_value(   R   t   relu(   R   R   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR   +   s    c         C@  s   t  j |  ƒ S(   N(   R   t   tanh(   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR   /   s    c         C@  s   t  j |  ƒ S(   N(   R   t   sigmoid(   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR   3   s    c         C@  s   t  j |  ƒ S(   N(   R   t   hard_sigmoid(   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyR   7   s    c         C@  s   |  S(   N(    (   R   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyt   linear;   s    c         C@  s   |  j  S(   N(   t   __name__(   t
   activation(    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyt	   serialize?   s    c         C@  s   t  |  d t ƒ  d | d d ƒS(   Nt   module_objectst   custom_objectst   printable_module_names   activation function(   R   t   globals(   t   nameR   (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyt   deserializeC   s    		c         C@  s[   |  d  k r t St |  t j ƒ r8 t |  ƒ }  t |  ƒ St |  ƒ rH |  St d |  ƒ ‚ d  S(   Ns3   Could not interpret activation function identifier:(	   t   NoneR   t
   isinstancet   sixt   string_typest   strR"   t   callableR   (   t
   identifier(    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyt   getJ   s    
(   t
   __future__R    R%   t    R   R   t   utils.generic_utilsR   R   R   R   R   R#   R   R   R   R   R   R   R"   R*   (    (    (    s0   /tmp/pip-build-isqEY4/keras/keras/activations.pyt   <module>   s   							