o
    bi7                     @   sL   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 )	    )ops)keras_export)	InputSpec)Layerz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 )
RepeatVectorai  Repeats the input n times.

    Example:

    >>> x = keras.Input(shape=(32,))
    >>> y = keras.layers.RepeatVector(3)(x)
    >>> y.shape
    (None, 3, 32)

    Args:
        n: Integer, repetition factor.

    Input shape:
        2D tensor with shape `(batch_size, features)`.

    Output shape:
        3D tensor with shape `(batch_size, n, features)`.
    c                    sF   t  jdi | || _t|tstdt| dtdd| _d S )Nz'Expected an integer value for `n`, got .   )ndim )	super__init__n
isinstanceint	TypeErrortyper   
input_spec)selfr   kwargs	__class__r
   \/home/ubuntu/.local/lib/python3.10/site-packages/keras/src/layers/reshaping/repeat_vector.pyr      s   
zRepeatVector.__init__c                 C   s   |d | j |d fS )Nr      )r   )r   input_shaper
   r
   r   compute_output_shape%   s   z!RepeatVector.compute_output_shapec                 C   s6   t |}t ||d d|d f}t j|| jddS )Nr   r   )axis)r   shapereshaperepeatr   )r   inputsr   reshapedr
   r
   r   call(   s   
zRepeatVector.callc                    s    d| j i}t  }i ||S )Nr   )r   r   
get_config)r   configbase_configr   r
   r   r"   -   s   

zRepeatVector.get_config)	__name__
__module____qualname____doc__r   r   r!   r"   __classcell__r
   r
   r   r   r      s    	r   N)		keras.srcr   keras.src.api_exportr   keras.src.layers.input_specr   keras.src.layers.layerr   r   r
   r
   r
   r   <module>   s    