chaining#

Transformations constructed by chaining other transformations.

Classes#

ChainTT

Transformation constructed by chaining two transformations.

class ChainTT(transformation1, transformation2, hint=None)#

Bases: tmlt.core.transformations.base.Transformation

Transformation constructed by chaining two transformations.

Parameters
__init__(transformation1, transformation2, hint=None)#

Constructor.

Parameters
stability_function(d_in)#

Returns the smallest d_out satisfied by the transformation.

Returns M.privacy_function(T.stability_function(d_in)).

where:

Parameters

d_in (Any) – Distance between inputs under input_metric.

Raises

NotImplementedError – If T2.stability_function(T1.stability_function(d_in)) raises NotImplementedError.

Return type

Any

stability_relation(d_in, d_out)#

Returns True only if outputs are close under close inputs.

Let d_mid = T1.stability_function(d_in), or hint(d_in, d_out) if T1.stability_function raises NotImplementedError.

This returns True only if the following hold:

  1. T1.stability_relation(d_in, d_mid)

  2. T2.stability_relation(d_mid, d_out)

where:

  • T1 is the first transformation applied (transformation1)

  • T2 is the second transformation applied (transformation2)

  • hint is the hint passed to the constructor.

Parameters
  • d_in (Any) – Distance between inputs under input_metric.

  • d_out (Any) – Distance between outputs under output_metric.

Return type

bool

property transformation1#

Returns the first transformation being applied.

Return type

tmlt.core.transformations.base.Transformation

property transformation2#

Returns the second transformation being applied.

Return type

tmlt.core.transformations.base.Transformation

__call__(data)#

Performs transformation1 followed by transformation2.

Parameters

data (Any) –

Return type

Any

property input_domain#

Return input domain for the measurement.

Return type

tmlt.core.domains.base.Domain

property input_metric#

Distance metric on input domain.

Return type

tmlt.core.metrics.Metric

property output_domain#

Return input domain for the measurement.

Return type

tmlt.core.domains.base.Domain

property output_metric#

Distance metric on input domain.

Return type

tmlt.core.metrics.Metric

__or__(other: Transformation) Transformation#
__or__(other: tmlt.core.measurements.base.Measurement) tmlt.core.measurements.base.Measurement

Return this transformation chained with another component.