use crate::{Deserialize, Serialize};
pub mod batch_normalization_weight;
pub mod conv_1d_weight;
pub mod conv_2d_weight;
pub mod conv_3d_weight;
pub mod dense_weight;
pub mod depthwise_conv_2d_weight;
pub mod group_normalization_weight;
pub mod gru_weight;
pub mod instance_normalization_weight;
pub mod layer_normalization_weight;
pub mod lstm_weight;
pub mod separable_conv_2d_weight;
pub mod simple_rnn_weight;
pub use batch_normalization_weight::*;
pub use conv_1d_weight::*;
pub use conv_2d_weight::*;
pub use conv_3d_weight::*;
pub use dense_weight::*;
pub use depthwise_conv_2d_weight::*;
pub use group_normalization_weight::*;
pub use gru_weight::*;
pub use instance_normalization_weight::*;
pub use layer_normalization_weight::*;
pub use lstm_weight::*;
pub use separable_conv_2d_weight::*;
pub use simple_rnn_weight::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum LayerWeight<'a> {
Dense(DenseLayerWeight<'a>),
SimpleRNN(SimpleRNNLayerWeight<'a>),
LSTM(LSTMLayerWeight<'a>),
GRU(GRULayerWeight<'a>),
Conv1D(Conv1DLayerWeight<'a>),
Conv2D(Conv2DLayerWeight<'a>),
Conv3D(Conv3DLayerWeight<'a>),
SeparableConv2D(SeparableConv2DLayerWeight<'a>),
DepthwiseConv2D(DepthwiseConv2DLayerWeight<'a>),
BatchNormalization(BatchNormalizationLayerWeight<'a>),
LayerNormalization(LayerNormalizationLayerWeight<'a>),
InstanceNormalization(InstanceNormalizationLayerWeight<'a>),
GroupNormalization(GroupNormalizationLayerWeight<'a>),
Empty,
}