sliced_wasserstein_metric

Sliced Wasserstein Distance metric.

Classes

SingleSWD SlicedWassersteinDistance for a certain level of the pyramid.
SlicedWassersteinDistance Sliced Wasserstein Distance.
class ashpy.metrics.sliced_wasserstein_metric.SingleSWD(model_selection_operator=<built-in function lt>, logdir=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ashpy/checkouts/master/docs/source/log'), level_of_pyramid=0, real_or_fake='fake')[source]

Bases: ashpy.metrics.metric.Metric

SlicedWassersteinDistance for a certain level of the pyramid.

__init__(model_selection_operator=<built-in function lt>, logdir=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ashpy/checkouts/master/docs/source/log'), level_of_pyramid=0, real_or_fake='fake')[source]

Initialize the Metric.

Parameters:
  • model_selection_operator (typing.Callable) –

    The operation that will be used when model_selection is triggered to compare the metrics, used by the update_state. Any typing.Callable behaving like an operator is accepted.

    Note

    Model selection is done ONLY if an operator is specified here.

  • logdir (str) – Path to the log dir, defaults to a log folder in the current directory.
  • level_of_pyramid (int) – Level of the pyramid related to this metric.
  • real_or_fake (str) – string identifying this metric (real or fake distance).
Return type:

None

update_state(context, score)[source]

Update the internal state of the metric, using the information from the context object.

Parameters:context (ashpy.contexts.gan.GANContext) – An AshPy Context Object that carries all the information the Metric needs.
Return type:None
class ashpy.metrics.sliced_wasserstein_metric.SlicedWassersteinDistance(name='SWD', model_selection_operator=<built-in function lt>, logdir=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ashpy/checkouts/master/docs/source/log'), resolution=128, resolution_min=16, patches_per_image=64, patch_size=7, random_sampling_count=1, random_projection_dim=147, use_svd=False)[source]

Bases: ashpy.metrics.metric.Metric

Sliced Wasserstein Distance.

Used as metric in Progressive Growing of GANs [1].

[1]Progressive Growing of GANs https://arxiv.org/abs/1710.10196
__init__(name='SWD', model_selection_operator=<built-in function lt>, logdir=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ashpy/checkouts/master/docs/source/log'), resolution=128, resolution_min=16, patches_per_image=64, patch_size=7, random_sampling_count=1, random_projection_dim=147, use_svd=False)[source]

Initialize the Metric.

Parameters:
  • name (str) – Name of the metric.
  • model_selection_operator (typing.Callable) –

    The operation that will be used when model_selection is triggered to compare the metrics, used by the update_state. Any typing.Callable behaving like an operator is accepted.

    Note

    Model selection is done ONLY if an operator is specified here.

  • logdir (str) – Path to the log dir, defaults to a log folder in the current directory.
  • resolution (int) – Image Resolution, defaults to 128
  • resolution_min (int) – Min Resolution achieved by the metric
  • patches_per_image (int) – Number of patches to extract per image per Laplacian level.
  • patch_size (int) – Width of a square patch.
  • random_sampling_count (int) – Number of random projections to average.
  • random_projection_dim (int) – Dimension of the random projection space.
  • use_svd (bool) – experimental method to compute a more accurate distance.
Return type:

None

log(step)[source]

Log the SWD mean and each sub-metric.

logdir

Retrieve the log directory.

Return type:str
model_selection(checkpoint, global_step)[source]

Perform model selection for each sub-metric.

Return type:None
reset_states()[source]

Reset the state of the metric and the state of each child metric.

Return type:None
update_state(context)[source]

Update the internal state of the metric, using the information from the context object.

Parameters:context (ashpy.contexts.gan.GANContext) – An AshPy Context Object that carries all the information the Metric needs.
Return type:None