class nbla::RandomErase

template<typename T>
class RandomErase : public nbla::BaseFunction<float, const vector<float>&, const vector<float>&, const vector<float>&, int, bool, bool, int, int, bool, bool>

RandomErase randomly erase the inputs and replace with random values.

Inputs:

  • N-D array of three or more dimensions

Outputs:

  • N-D array.

Template Parameters:

T – Data type for computation.

Param prob:

Probability to erase.

Param area_ratios:

Low and high of the area ratio range.

Param aspect_ratios:

Low and high of the aspect ratios range.

Param replacements:

Low and high of the replacement value range.

Param n:

Max number of patches to be erased.

Param share:

Use a same bounding box randomly picked over the feature dimension when being True. Default is False.

Param inplace:

This option is obsolete and ignored. Output is never in-placed with input.

Param base_axis:

Param seed:

Random seed. When -1, seed is sampled from global random number generator.

Param channel_last:

If True, the last dimension is considered as channel dimension, a.k.a NHWC order.

Param ste_fine_grained:

Straight Through Estimator is fine-grained or not. Default

Public Functions

inline virtual shared_ptr<Function> copy() const

Copy another instance of Function with the same context.

inline virtual int min_inputs()

Get minimum number of inputs.

This is meant to be used in setup function with in_types which is used to get maximum number of inputs.

inline virtual int min_outputs()

Get minimum number of outputs.

This is meant to be used in setup function with out_types which is used to get max number of outputs.

inline virtual vector<dtypes> in_types()

Get input dtypes.

Last in_type will be used repeatedly if size of in_types is smaller than size of inputs

inline virtual vector<dtypes> out_types()

Get output dtypes.

Last out_type will be used repeatedly if size of out_types is smaller than size of outputs

inline virtual vector<string> allowed_array_classes()

Get array classes that are allowed to be specified by Context.

inline virtual string name()

Get function name in string.

inline virtual bool need_setup_recompute(int o) const

A flag for checking if setup_recompute() is needed.

Checking if o-th output’ data requires setup_recompute().

Note

setup_recompute() will skipped during forward execution if none of outputs requires setup_recompute().

Parameters:

o[in] Output variable index.

inline virtual bool grad_depends_output_data(int i, int o) const

Dependency flag for checking if in-grad depends on out-data.

Checking if i-th input’ gradient computation requires o-th output’s data or not.

Note

If any of inputs requires an output variable data when computing its gradient, this function must be overridden to return appropriate boolean value. Otherwise, backward computation will be incorrect.

Parameters:
  • i[in] Input variable index.

  • o[in] Output variable index.