in ludwig/features/base_feature.py [0:0]
def __init__(self, feature, *args, **kwargs):
super().__init__(*args, feature=feature, **kwargs)
self.reduce_input = None
self.reduce_dependencies = None
self.dependencies = []
self.fc_layers = None
self.num_fc_layers = 0
self.fc_size = 256
self.use_bias = True
self.weights_initializer = 'glorot_uniform'
self.bias_initializer = 'zeros'
self.weights_regularizer = None
self.bias_regularizer = None
self.activity_regularizer = None
# self.weights_constraint=None
# self.bias_constraint=None
self.norm = None
self.norm_params = None
self.activation = 'relu'
self.dropout = 0
self.overwrite_defaults(feature)
logger.debug(' output feature fully connected layers')
logger.debug(' FCStack')
self.fc_stack = FCStack(
layers=self.fc_layers,
num_layers=self.num_fc_layers,
default_fc_size=self.fc_size,
default_use_bias=self.use_bias,
default_weights_initializer=self.weights_initializer,
default_bias_initializer=self.bias_initializer,
default_weights_regularizer=self.weights_regularizer,
default_bias_regularizer=self.bias_regularizer,
default_activity_regularizer=self.activity_regularizer,
# default_weights_constraint=self.weights_constraint,
# default_bias_constraint=self.bias_constraint,
default_norm=self.norm,
default_norm_params=self.norm_params,
default_activation=self.activation,
default_dropout=self.dropout,
)
# set up two sequence reducers, one for inputs and other for dependencies
self.reduce_sequence_input = SequenceReducer(
reduce_mode=self.reduce_input
)
if self.dependencies:
self.dependency_reducers = {}
for dependency in self.dependencies:
self.dependency_reducers[dependency] = SequenceReducer(
reduce_mode=self.reduce_dependencies
)