
    6bi
                     v    S r SSKJs  Jr  SSKJr  SSKJr  SSK	J
r
  SSKJr  \" S5       " S S	\5      5       rg)
z%Keras upsampling layer for 1D inputs.    N)backend)Layer)	InputSpec)keras_exportzkeras.layers.UpSampling1Dc                   H   ^  \ rS rSrSrSU 4S jjrS rS rU 4S jrSr	U =r
$ )	UpSampling1D   a  Upsampling layer for 1D inputs.

Repeats each temporal step `size` times along the time axis.

Examples:

>>> input_shape = (2, 2, 3)
>>> x = np.arange(np.prod(input_shape)).reshape(input_shape)
>>> print(x)
[[[ 0  1  2]
  [ 3  4  5]]
 [[ 6  7  8]
  [ 9 10 11]]]
>>> y = tf.keras.layers.UpSampling1D(size=2)(x)
>>> print(y)
tf.Tensor(
  [[[ 0  1  2]
    [ 0  1  2]
    [ 3  4  5]
    [ 3  4  5]]
   [[ 6  7  8]
    [ 6  7  8]
    [ 9 10 11]
    [ 9 10 11]]], shape=(2, 4, 3), dtype=int64)

Args:
  size: Integer. Upsampling factor.

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

Output shape:
  3D tensor with shape: `(batch_size, upsampled_steps, features)`.
c                 b   > [         TU ]  " S0 UD6  [        U5      U l        [	        SS9U l        g )N   )ndim )super__init__intsizer   
input_spec)selfr   kwargs	__class__s      e/home/james-whalen/.local/lib/python3.13/site-packages/tf_keras/src/layers/reshaping/up_sampling1d.pyr   UpSampling1D.__init__A   s*    "6"I	#+    c                     [         R                  " U5      R                  5       nUS   b  U R                  US   -  OS n[         R                  " US   X!S   /5      $ )N   r      )tfTensorShapeas_listr   )r   input_shaper   s      r   compute_output_shape!UpSampling1D.compute_output_shapeF   sW    nn[199;*5a.*DDIIA&$ 	 ~~{1~t^DEEr   c                 D    [         R                  " XR                  SS9nU$ )Nr   )axis)r   repeat_elementsr   )r   inputsoutputs      r   callUpSampling1D.callM   s    ((Cr   c                    > SU R                   0n[        TU ]	  5       n[        [	        UR                  5       5      [	        UR                  5       5      -   5      $ )Nr   )r   r   
get_configdictlistitems)r   configbase_configr   s      r   r*   UpSampling1D.get_configQ   sG    $))$g(*D**,-V\\^0DDEEr   )r   r   )r   )__name__
__module____qualname____firstlineno____doc__r   r    r'   r*   __static_attributes____classcell__)r   s   @r   r   r      s%    !F,
FF Fr   r   )r5   tensorflow.compat.v2compatv2r   tf_keras.srcr   tf_keras.src.engine.base_layerr   tf_keras.src.engine.input_specr    tensorflow.python.util.tf_exportr   r   r   r   r   <module>r?      sD    , " !   0 4 : )*7F5 7F +7Fr   