mindchemistry.cell.AutoEncoder
- class mindchemistry.cell.AutoEncoder(channels, weight_init='normal', has_bias=True, bias_init='zeros', has_dropout=False, dropout_rate=0.5, has_layernorm=False, layernorm_epsilon=1e-7, has_activation=True, act='relu', out_act=None)[source]
- The AutoEncoder Network. Applies an encoder to get the latent code and applies a decoder to get the reconstruct data. - Parameters
- channels (list) – The number of channels of each encoder and decoder layer. 
- weight_init (Union[str, float, mindspore.common.initializer, List]) – initialize layer parameters. If weight_init was List, each element corresponds to each layer. Default: - 'normal'.
- has_bias (Union[bool, List]) – The switch for whether the dense layers has bias. If has_bias was List, each element corresponds to each dense layer. Default: - True.
- bias_init (Union[str, float, mindspore.common.initializer, List]) – initialize layer parameters. If bias_init was List, each element corresponds to each dense layer. Default: - 'zeros'.
- has_dropout (Union[bool, List]) – The switch for whether linear block has a dropout layer. If has_dropout was List, each element corresponds to each layer. Default: - False.
- dropout_rate (float) – The dropout rate for dropout layer, the dropout rate must be a float in range (0, 1] If dropout_rate was List, each element corresponds to each dropout layer. Default: - 0.5.
- has_layernorm (Union[bool, List]) – The switch for whether linear block has a layer normalization layer. If has_layernorm was List, each element corresponds to each layer. Default: - False.
- layernorm_epsilon (float) – The hyper parameter epsilon for layer normalization layer. If layernorm_epsilon was List, each element corresponds to each layer normalization layer. Default: - 1e-7.
- has_activation (Union[bool, List]) – The switch for whether linear block has an activation layer. If has_activation was List, each element corresponds to each layer. Default: - True.
- act (Union[str, None, List]) – The activation function in linear block. If act was List, each element corresponds to each activation layer. Default: - 'relu'.
- out_act (Union[None, str, mindspore.nn.Cell]) – The activation function to output layer. Default: - None.
 
 - Inputs:
- x (Tensor) - The shape of Tensor is \((*, channels[0])\). 
 
- Outputs:
- latents (Tensor) - The shape of Tensor is \((*, channels[-1])\). 
- x_recon (Tensor) - The shape of Tensor is \((*, channels[0])\). 
 
- Supported Platforms:
- Ascend
 - Examples - >>> import numpy as np >>> from mindchemistry import AutoEncoder >>> from mindspore import Tensor >>> inputs = Tensor(np.array([[180, 234, 154], [244, 48, 247]], np.float32)) >>> net = AutoEncoder([3, 6, 2]) >>> output = net(inputs) >>> print(output[0].shape, output[1].shape) (2, 2) (2, 3)