rational.mxnet¶
- class rational.mxnet.Rational(approx_func='leaky_relu', degrees=(5, 4), cuda=False, version='A', trainable=True, name=None, **kwargs)[source]¶
Rational Activation Function, inheriting from
mxnet.gluon.HybridBlock.- Parameters
approx_func (str) –
The name of the approximated function for initialisation.
The different functions are available in rational.rationals_config.json.
Default:
leaky_reludegrees (tuple of int) –
The degrees of the numerator (P) and denominator (Q).
Default
(5, 4)cuda (bool) –
whether to execute on cuda device.
NOTE: THIS PARAMETER IS CURRENTLY NOT CONSIDERED.
CUDA GPUS ARE USED WHEN IT IS POSSIBLE
version (str) –
Version of Rational to use. Rational(x) = P(x)/Q(x), where P(x) = (a_0 + a_1 * x + a_2 * x^2 + … + a_n * x^n) and
A: Q(x) = (1 + |b_0 * x| + | b_1 * x^2| + … + | b_m * x^{m+1}|)
B: Q(x) = (1 + |b_0 * x + b_1 * x^2 + … + b_m * x^{m + 1}|)
C: Q(x) = (0.1 + |b_0 + b_1 * x + b_2 * x^2 + … + b_m * x^m|)
D: like B with noised coefficients b_i
Default
Atrainable (bool) –
Whether the weights are trainable, i.e, if they are updated during backward pass.
Default
True
- Returns
Rational hybrid block
- Return type
HybridBlock
- best_fit(functions_list, x=None, show=False)¶
Compute the distance between the rational and the functions in functions_list, and return the one with the minimal the distance.
- Parameters
functions_list (list of callable) – The function you want to fit to rational.
x (array) –
The range on which the curves of the functions are fitted together.
Default
Noneshow (bool) –
If
True, plots the final fitted function and rational (using matplotlib).Default
False
- Returns
((a, b, c, d), dist) with:
a, b, c, d: the parameters to adjust the function (vertical and horizontal scales and bias)
dist: The final distance between the rational function and the fitted one
- Return type
tuple
- capture(name='snapshot_0', x=None, fitted_function=True, other_func=None, returns=False)¶
Captures a snapshot of the rational functions and related in the snapshot_list variable (or returns it if
returns=True).- Parameters
name (str) –
Name of the snapshot.
Default
"snapshot_0"x (range) –
The range to print the function on.
Default
Nonefitted_function (bool) –
If
True, displays the best fitted function if searched. Otherwise, returns it.Default
Trueother_funcs (callable) – another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value.
returns (bool) –
If
True, returns the snapshot. Otherwise, saves it in self.snapshot_listDefault
False
- classmethod capture_all(name='snapshot_0', x=None, fitted_function=True, other_func=None, returns=False)¶
Captures a snapshot of every instanciated rational functions and related in the snapshot_list variable (or returns a list of them if
returns=True).- Parameters
name (str) –
Name of the snapshot.
Default
"snapshot_0"x (range) –
The range to print the function on.
Default
Nonefitted_function (bool) –
If
True, displays the best fitted function if searched. Otherwise, returns it.Default
Trueother_funcs (callable) – another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value.
returns (bool) –
If
True, returns the snapshot. Otherwise, saves it in self.snapshot_listDefault
False
- export_evolution_graph(path='rational_evolution.gif', animated=True, other_func=None)¶
Creates and saves an animated graph of the function evolution based on the successive snapshots saved in snapshot_list.
- Parameters
path (str) –
Complete path with name of the figure.
Default
"rational_evolution.gif"animated (bool) –
Complete path with name of the figure.
Default
Trueother_func (callable) –
another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value.
Default
None
- classmethod export_evolution_graphs(path='rationals_evolution.gif', together=True, layout='auto', animated=True, other_func=None)¶
Creates and saves an animated graph of the function evolution based on the successive snapshots saved in snapshot_list for each instanciated rational function.
- Parameters
path (str) –
Complete path with name of the figure.
Default
"rationals_evolution.gif"together (bool) –
If True, the graphs of every functions are stored in different files.
Default
Truelayout (tuple or 'auto') –
Grid layout of the figure. If “auto”, one is generated. (see layout).
Default
"auto"animated (bool) –
If True, creates an animated gif, else, different files are created.
Default
Trueother_func (callable) –
another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value.
Default
None
- export_graph(path='rational_function.svg', snap_number=- 1, other_func=None)¶
Saves one graph of the function based on the last snapshot (by default, and if available).
- Parameters
path (str) –
Complete path with name of the figure.
Default
"rational_functions.svg"together (bool) –
If True, the graphs of every functions are stored in different files.
Default
Truelayout (tuple or 'auto') – Grid layout of the figure. If “auto”, one is generated. (see layout). Default
autosnap_number (int) –
The snap to take in snapshot_list for each function.
Default
-1 (last)other_func (callable) – another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value. Default
None
- classmethod export_graphs(path='rational_functions.svg', together=True, layout='auto', snap_number=- 1, other_func=None)¶
Saves one or more graph(s) of the function based on the last snapshot (by default, and if available) for each instanciated rational function.
- Parameters
path (str) –
Complete path with name of the figure.
Default
"rational_functions.svg"together (bool) –
If True, the graphs of every functions are stored in different files.
Default
Truelayout (tuple or 'auto') – Grid layout of the figure. If “auto”, one is generated. (see layout). Default
"auto"snap_number (int) –
The snap to take in snapshot_list for each function.
Default
-1 (last)other_func (callable) – another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value. Default
None
- fit(function, x=None, show=False)¶
Compute the parameters a, b, c, and d to have the neurally equivalent function of the provided one as close as possible to this rational function.
- Parameters
function (callable) – The function you want to fit to rational.
x (array) –
The range on which the curves of the functions are fitted together.
Default
Noneshow (bool) –
If
True, plots the final fitted function and rational (using matplotlib).Default
False
- Returns
((a, b, c, d), dist) with:
a, b, c, d: the parameters to adjust the function (vertical and horizontal scales and bias)
dist: The final distance between the rational function and the fitted one
- Return type
tuple
- hybrid_forward(F, x, numerator, denominator)[source]¶
Overrides to construct symbolic graph for this Block.
- Parameters
x (Symbol or NDArray) – The first input tensor.
*args (list of Symbol or list of NDArray) – Additional input tensors.
- show(x=None, fitted_function=True, other_func=None, display=True, tolerance=0.001, title=None, axis=None)¶
Shows a graph of the function (or returns it if
returns=True).- Parameters
x (range) –
The range to print the function on.
Default
Nonefitted_function (bool) –
If
True, displays the best fitted function if searched. Otherwise, returns it.Default
Trueother_funcs (callable) – another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value.
display (bool) –
If
True, displays the plot. Otherwise, returns the figure.Default
Falsetolerance (float) –
If the input histogram is used, it will be pruned.
Every bin containg less than tolerance of the total input is pruned out. (Reduces noise). Default
0.001title (str) – If not None, a title for the figure Default
Noneaxis (matplotlib.pyplot.axis) – axis to be plotted on. If None, creates one automatically. Default
None
- classmethod show_all(x=None, fitted_function=True, other_func=None, display=True, tolerance=0.001, title=None, axes=None, layout='auto')¶
Shows a graph of the all instanciated rational functions (or returns it if
returns=True).- Parameters
x (range) –
The range to print the function on.
Default
Nonefitted_function (bool) –
If
True, displays the best fitted function if searched. Otherwise, returns it.Default
Trueother_funcs (callable) – another function to be plotted or a list of other callable functions or a dictionary with the function name as key and the callable as value.
display (bool) –
If
True, displays the plot. Otherwise, returns the figure.Default
Falsetolerance (float) –
If the input histogram is used, it will be pruned.
Every bin containg less than tolerance of the total input is pruned out. (Reduces noise). Default
0.001title (str) – If not None, a title for the figure Default
Noneaxes (matplotlib.pyplot.axis) –
On ax or a list of axes to be plotted on.
If None, creates them automatically (see layout).
Default
Nonelayout (tuple or 'auto') –
Grid layout of the figure. If “auto”, one is generated.
Default
"auto"