Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 1.23 KB

transform.md

File metadata and controls

45 lines (35 loc) · 1.23 KB

[Input Transforms](@id input_transforms)

Overview

Transforms are designed to change input data before passing it on to a kernel object.

It can be as standard as IdentityTransform returning the same input, or multiplying the data by a scalar with ScaleTransform or by a vector with ARDTransform. There is a more general FunctionTransform that uses a function and applies it to each input.

You can also create a pipeline of Transforms via ChainTransform, e.g.,

LowRankTransform(rand(10, 5))  ScaleTransform(2.0)

A transformation t can be applied to a single input x with t(x) and to multiple inputs xs with map(t, xs).

Kernels can be coupled with input transformations with or its alias compose. It falls back to creating a TransformedKernel but allows more optimized implementations for specific kernels and transformations.

List of Input Transforms

Transform
IdentityTransform
ScaleTransform
ARDTransform
ARDTransform(::Real, ::Integer)
LinearTransform
FunctionTransform
SelectTransform
ChainTransform
PeriodicTransform

Convenience functions

with_lengthscale
median_heuristic_transform