diktya.distributions

to_radians(x)[source]
class JsonConvertable[source]

Bases: object

get_config()[source]
classmethod from_config(config)[source]
to_json()[source]
get(x, custom_objects={})[source]
load_from_config(config, custom_objects={})[source]
load_from_json(json_str, custom_objects={})[source]
class Normalization[source]

Bases: diktya.distributions.JsonConvertable

normalize(array)[source]
denormalize(array)[source]
class ConstantNormalization(value)[source]

Bases: diktya.distributions.JsonConvertable

normalize(array)[source]
denormalize(array)[source]
get_config()[source]
class SubtDivide(subt, scale)[source]

Bases: diktya.distributions.Normalization

normalize(array)[source]
denormalize(array)[source]
get_config()[source]
class UnitIntervalTo(start, end)[source]

Bases: diktya.distributions.Normalization

normalize(array)[source]
denormalize(array)[source]
get_config()[source]
class SinCosAngleNorm[source]

Bases: diktya.distributions.Normalization

normalize(array)[source]
denormalize(array)[source]
class CombineNormalization(normalizations)[source]

Bases: diktya.distributions.Normalization

normalize(arr)[source]
denormalize(norm_arr)[source]
get_config()[source]
class Distribution[source]

Bases: diktya.distributions.JsonConvertable

sample(shape)[source]
default_normalization()[source]
class Zeros[source]

Bases: diktya.distributions.Distribution

sample(shape)[source]
class Constant(value)[source]

Bases: diktya.distributions.Distribution

sample(shape)[source]
default_normalization()[source]
get_config()[source]
class Normal(mean, std)[source]

Bases: diktya.distributions.Distribution

sample(shape)[source]
default_normalization()[source]
get_config()[source]
class TruncNormal(a, b, mean, std)[source]

Bases: diktya.distributions.Distribution

Normal distribution truncated between [a;b].

sample(shape)[source]
length
default_normalization()[source]
get_config()[source]
class Uniform(low, high)[source]

Bases: diktya.distributions.Distribution

sample(shape)[source]
length
default_normalization()[source]
get_config()[source]
class Bernoulli[source]

Bases: diktya.distributions.Distribution

sample(shape)[source]
default_normalization()[source]
class DistributionCollection(distributions)[source]

Bases: diktya.distributions.Distribution, diktya.distributions.Normalization

A collection of multiple distributions:

Parameters:distributions – A list of tuples where the tuples have the form * (name, distribution) * (name, distribution, nb_elems) * (name, distribution, nb_elems, normalization) distribution must be a subclass of Distribution. The nb_elems specify how many elements are drawn from the distribution, if omitted it will be set to 1. The normalization specifies how it is noramlised. It can be omitted and will then be set to dist.default_normalization().

Example:

dist = DistributionCollection([
    ("x_rotation", Normal(0, 1)),
    ("y_rotation", Uniform(-np.pi, np.pi), 1, SinCosAngleNorm()),
    ("center", Normal(0, 2), 2),
])
# Sample 10 vectors from the collection
arr = dist.sample(10)
# The array is a structured numpy array. The keys are the one from
# constructure distributions dictionary.
arr["x_rotation"][0]

# Normalizes the arr samples, according to the normalisation
normed = dist.normalize(arr)

# the normalization/denormalization should be invariant
assert np.allclose(dist.denormalize(normed), arr)
sample(batch_size)[source]
normalize(arr)[source]
denormalize(norm_arr)[source]
get_config()[source]
classmethod from_hdf5(fname)[source]
examplary_tag_distribution(nb_bits=12)[source]