Miscellaneous utilities¶
- 
nengo_dl.utils.sanitize_name(name)[source]¶
- Remove illegal TensorFlow name characters from string. - Valid TensorFlow name characters are - [A-Za-z0-9_.\-/]- Parameters: - name : str
- Name to be sanitized 
 - Returns: - str
- Sanitized name 
 
- 
nengo_dl.utils.function_name(func, sanitize=True)[source]¶
- Get the name of the callable object - func.- Parameters: - func : callable
- Callable object (e.g., function, callable class) 
- sanitize : bool, optional
- If True, remove any illegal TensorFlow name characters from name 
 - Returns: - str
- Name of - func(optionally sanitized)
 
- 
nengo_dl.utils.align_func(output_shape, output_dtype)[source]¶
- Decorator that ensures the output of - funcis an- ndarraywith the given shape and dtype.- Parameters: - output_shape : tuple of int
- Desired shape for function output (must have the same size as actual function output) 
- output_dtype : tf.DTypeordtype
- Desired dtype of function output 
 - Raises: - :class:`~nengo:nengo.exceptions.SimulationError`
- If the function returns - Noneor a non-finite value.
 
- 
nengo_dl.utils.print_op(input, message)[source]¶
- Inserts a print statement into the TensorFlow graph. - Parameters: - input : tf.Tensor
- The value of this tensor will be printed whenever it is computed in the graph 
- message : str
- String prepended to the value of - input, to help with logging
 - Returns: - ``tf.Tensor``
- New tensor representing the print operation applied to - input
 - Notes - This is what - tf.Printis supposed to do, but it doesn’t seem to work consistently.
- input : 
- 
nengo_dl.utils.cast_dtype(dtype, target)[source]¶
- Changes float dtypes to the target dtype, leaves others unchanged. - Used to map all float values to a target precision. Also casts numpy dtypes to TensorFlow dtypes. - Parameters: - dtype : tf.DTypeordtype
- Input dtype to be converted 
- target : tf.DType
- Floating point dtype to which all floating types should be converted 
 - Returns: - ``tf.DType``
- Input dtype, converted to - targettype if necessary
 
- dtype : 
- 
nengo_dl.utils.find_non_differentiable(inputs, outputs)[source]¶
- Searches through a TensorFlow graph to find non-differentiable elements between - inputsand- outputs(elements that would prevent us from computing- d_outputs / d_inputs.- Parameters: - inputs : list of tf.Tensor
- Input tensors 
- outputs : list of tf.Tensor
- Output tensors 
 
- inputs : list of 
- 
class nengo_dl.utils.ProgressBar(max_steps, label=None)[source]¶
- Displays a progress bar and ETA for tracked steps. - Parameters: - max_steps : int
- Number of steps required to complete the tracked process 
- label : str, optional
- A description of what is being tracked 
 
- 
nengo_dl.utils.minibatch_generator(inputs, targets, minibatch_size, shuffle=True, rng=None)[source]¶
- Generator to yield - minibatch_sizedsubsets from- inputsand- targets.- Parameters: - inputs : dict of {Node:ndarray}
- Input values for Nodes in the network 
- targets : dict of {Probe:ndarray}
- Desired output value at Probes, corresponding to each value in - inputs
- minibatch_size : int
- The number of items in each minibatch 
- shuffle : bool, optional
- If True, the division of items into minibatches will be randomized each time the generator is created 
- rng : RandomState, optional
- Seeded random number generator 
 - Yields: 
- inputs : dict of {
- 
nengo_dl.utils.configure_settings(**kwargs)[source]¶
- Pass settings to - nengo_dlby setting them as parameters on the top-level Network config.- The settings are passed as keyword arguments to - configure_settings; e.g., to set- trainableuse- configure_settings(trainable=True).- Parameters: - trainable : bool or None
- Adds a parameter to Nengo Ensembles/Connections/Networks that controls whether or not they will be optimized by - Simulator.train(). Passing- Nonewill use the default- nengo_dltrainable settings, or True/False will override the default for all objects. In either case trainability can be further configured on a per-object basis (e.g.- net.config[my_ensemble].trainable = True. See the documentation for more details.
- planner : graph planning algorithm
- Pass one of the graph planners to change the default planner.