objax.util package

objax.util

EasyDict(*args, **kwargs)

Custom dictionary that allows to access dict values as attributes.

Objax2Tf(module)

Objax to Tensorflow converter, which converts Objax module to tf.Module.

Renamer(rules[, chain])

Helper class for renaming string contents.

args_indexes(f, args)

Returns the indexes of variable names of a function.

dummy_context_mgr()

Empty Context Manager.

ilog2(x)

Integer log2.

positional_args_names(f)

Returns the ordered names of the positional arguments of a function.

to_tuple(v, n)

Converts input to tuple.

class objax.util.EasyDict(*args, **kwargs)[source]

Custom dictionary that allows to access dict values as attributes.

__init__(*args, **kwargs)[source]
clear() None.  Remove all items from D.
copy() a shallow copy of D
fromkeys(value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
pop(k[, d]) v, remove specified key and return the corresponding value.

If key is not found, default is returned if given, otherwise KeyError is raised

popitem()

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) None.  Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() an object providing a view on D's values
class objax.util.Objax2Tf(module)[source]

Objax to Tensorflow converter, which converts Objax module to tf.Module.

Parameters:

module (Module) –

__init__(module)[source]

Create a Tensorflow module from Objax module.

Parameters:

module (Module) – Objax module to be converted to Tensorflow tf.Module.

__call__(*args, **kwargs)[source]

Calls Tensorflow function which was generated from Objax module.

class objax.util.Renamer(rules, chain=None)[source]

Helper class for renaming string contents.

Parameters:
  • rules (Dict[str, str] | Sequence[Tuple[Pattern[str], str]] | Callable[[str], str]) –

  • chain (Renamer | None) –

__init__(rules, chain=None)[source]

Create a renamer object.

Parameters:
  • rules (Dict[str, str] | Sequence[Tuple[Pattern[str], str]] | Callable[[str], str]) – the replacement mapping.

  • chain (Renamer | None) – optionally, another renamer to call after this one completes.

__call__(s)[source]

Rename input string s using the rules provided to the constructor.

Parameters:

s (str) –

Return type:

str

objax.util.args_indexes(f, args)[source]

Returns the indexes of variable names of a function.

Parameters:
  • f (Callable) –

  • args (Iterable[str]) –

Return type:

Iterable[int]

objax.util.dummy_context_mgr()[source]

Empty Context Manager.

objax.util.find_used_variables(fn)[source]

Finds all Objax variables which are used by a given callable.

Parameters:

fn (Callable) – input function or callable.

Returns:

Variable collection with all variables used by input function.

Return type:

VarCollection

objax.util.ilog2(x)[source]

Integer log2.

Parameters:

x (float) –

objax.util.positional_args_names(f)[source]

Returns the ordered names of the positional arguments of a function.

Parameters:

f (Callable) –

Return type:

List[str]

objax.util.to_tuple(v, n)[source]

Converts input to tuple.

Parameters:
  • v (Tuple[Number, ...] | Number | Iterable) –

  • n (int) –

objax.util.image

nchw(x)

Converts an array in (N,H,W,C) format to (N,C,H,W) format.

nhwc(x)

Converts an array in (N,C,H,W) format to (N,H,W,C) format.

normalize_to_uint8(x)

Map a float image in [1/256-1, 1-1/256] to uint8 {0, 1, ..., 255}.

normalize_to_unit_float(x)

Map an uint8 image in {0, 1, ..., 255} to float interval [1/256-1, 1-1/256].

to_png(x)

Converts numpy array in (C,H,W) format into PNG format.

objax.util.image.from_file(file)[source]

Read an image from a file, convert it RGB and return it as an array.

Parameters:

file (str | IO[BinaryIO]) – filename or python file handle of the input file.

Returns:

3D numpy array (C, H, W) normalized with normalize_to_unit_float.

Return type:

ndarray

objax.util.image.image_grid(image)[source]

Rearrange array of images (nh, hw, c, h, w) into image grid in a single image (c, nh * h, nh * w).

Parameters:

image (ndarray) –

Return type:

ndarray

objax.util.image.nchw(x)[source]

Converts an array in (N,H,W,C) format to (N,C,H,W) format.

Parameters:

x (ndarray | Array) –

Return type:

ndarray | Array

objax.util.image.nhwc(x)[source]

Converts an array in (N,C,H,W) format to (N,H,W,C) format.

Parameters:

x (ndarray | Array) –

Return type:

ndarray | Array

objax.util.image.normalize_to_uint8(x)[source]

Map a float image in [1/256-1, 1-1/256] to uint8 {0, 1, …, 255}.

Parameters:

x (ndarray | Array) –

Return type:

ndarray | Array

objax.util.image.normalize_to_unit_float(x)[source]

Map an uint8 image in {0, 1, …, 255} to float interval [1/256-1, 1-1/256].

Parameters:

x (ndarray | Array) –

Return type:

ndarray | Array

objax.util.image.to_png(x)[source]

Converts numpy array in (C,H,W) format into PNG format.

Parameters:

x (ndarray | Array) –

Return type:

bytes