# Spline Layer

Constructs a Spline Layer. At a high-level, it performs the following:

- Takes as input a one-dimensional training dataset, a time span, a time step and

an interpolation method.

- During training, adjusts the values of the function at multiples of the time-step

such that the curve interpolated through these points has minimum loss on the corresponding one-dimensional dataset.

`DiffEqFlux.SplineLayer`

— TypeConstructs a Spline Layer. At a high-level, it performs the following:

- Takes as input a one-dimensional training dataset, a time span, a time step and

an interpolation method.

- During training, adjusts the values of the function at multiples of the time-step

such that the curve interpolated through these points has minimum loss on the corresponding one-dimensional dataset.

`SplineLayer(time_span,time_step,spline_basis,saved_points=nothing)`

Arguments:

`time_span`

: Tuple of real numbers corresponding to the time span.`time_step`

: Real number corresponding to the time step.`spline_basis`

: Interpolation method to be used yb the basis (current supported

interpolation methods: ConstantInterpolation, LinearInterpolation, QuadraticInterpolation, QuadraticSpline, CubicSpline).

- 'saved_points': values of the function at multiples of the time step. Initialized by default

to a random vector sampled from the unit normal.