B
    «»ˆd¬  ã               @   sb   d Z ddlm  mZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ edƒG dd	„ d	eƒƒZdS )
z Contains the RepeatVector layer.é    N)Úbackend)ÚLayer)Ú	InputSpec)Úkeras_exportzkeras.layers.RepeatVectorc                   s<   e Zd ZdZ‡ fdd„Zdd„ Zdd„ Z‡ fdd	„Z‡  ZS )
ÚRepeatVectoraÛ  Repeats the input n times.

    Example:

    ```python
    model = Sequential()
    model.add(Dense(32, input_dim=32))
    # now: model.output_shape == (None, 32)
    # note: `None` is the batch dimension

    model.add(RepeatVector(3))
    # now: model.output_shape == (None, 3, 32)
    ```

    Args:
      n: Integer, repetition factor.
    Input shape: 2D tensor of shape `(num_samples, features)`.
    Output shape: 3D tensor of shape `(num_samples, n, features)`.
    c                sB   t ƒ jf |Ž || _t|tƒs2tdt|ƒ› dƒ‚tdd| _d S )Nz'Expected an integer value for `n`, got Ú.é   )Úndim)	ÚsuperÚ__init__ÚnÚ
isinstanceÚintÚ	TypeErrorÚtyper   Z
input_spec)Úselfr   Úkwargs)Ú	__class__© úV/var/www/html/venv/lib/python3.7/site-packages/keras/layers/reshaping/repeat_vector.pyr   2   s    
zRepeatVector.__init__c             C   s(   t  |¡ ¡ }t  |d | j|d g¡S )Nr   é   )ÚtfZTensorShapeÚas_listr   )r   Zinput_shaper   r   r   Úcompute_output_shape;   s    z!RepeatVector.compute_output_shapec             C   s   t  || j¡S )N)r   Úrepeatr   )r   Úinputsr   r   r   Úcall?   s    zRepeatVector.callc                s0   d| j i}tƒ  ¡ }tt| ¡ ƒt| ¡ ƒ ƒS )Nr   )r   r
   Ú
get_configÚdictÚlistÚitems)r   ÚconfigZbase_config)r   r   r   r   B   s    

zRepeatVector.get_config)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   Ú__classcell__r   r   )r   r   r      s
   	r   )r%   Ztensorflow.compat.v2ÚcompatZv2r   Zkerasr   Zkeras.engine.base_layerr   Zkeras.engine.input_specr   Z tensorflow.python.util.tf_exportr   r   r   r   r   r   Ú<module>   s   