def generate_DeepConvLSTM_hyperparameter_set(min_conv_layers=1, max_conv_layers=10, min_conv_filters=10, max_conv_filters=100, min_lstm_layers=1, max_lstm_layers=5, min_lstm_dims=10, max_lstm_dims=100, low_lr=1, high_lr=4, low_reg=1, high_reg=4):
    ' Generate a hyperparameter set that defines a DeepConvLSTM model.\n\n    Parameters\n    ----------\n    min_conv_layers : int\n        minimum number of Conv layers in DeepConvLSTM model\n    max_conv_layers : int\n        maximum number of Conv layers in DeepConvLSTM model\n    min_conv_filters : int\n        minimum number of filters per Conv layer in DeepConvLSTM model\n    max_conv_filters : int\n        maximum number of filters per Conv layer in DeepConvLSTM model\n    min_lstm_layers : int\n        minimum number of Conv layers in DeepConvLSTM model\n    max_lstm_layers : int\n        maximum number of Conv layers in DeepConvLSTM model\n    min_lstm_dims : int\n        minimum number of hidden nodes per LSTM layer in DeepConvLSTM model\n    max_lstm_dims : int\n        maximum number of hidden nodes per LSTM layer in DeepConvLSTM model\n    low_lr : float\n        minimum of log range for learning rate: learning rate is sampled\n        between `10**(-low_reg)` and `10**(-high_reg)`\n    high_lr : float\n        maximum  of log range for learning rate: learning rate is sampled\n        between `10**(-low_reg)` and `10**(-high_reg)`\n    low_reg : float\n        minimum  of log range for regularization rate: regularization rate is\n        sampled between `10**(-low_reg)` and `10**(-high_reg)`\n    high_reg : float\n        maximum  of log range for regularization rate: regularization rate is\n        sampled between `10**(-low_reg)` and `10**(-high_reg)`\n\n    Returns\n    ----------\n    hyperparameters: dict\n        hyperparameters for a DeepConvLSTM model\n    '
    hyperparameters = generate_base_hyper_parameter_set(low_lr, high_lr, low_reg, high_reg)
    number_of_conv_layers = np.random.randint(min_conv_layers, (max_conv_layers + 1))
    hyperparameters['filters'] = np.random.randint(min_conv_filters, (max_conv_filters + 1), number_of_conv_layers).tolist()
    number_of_lstm_layers = np.random.randint(min_lstm_layers, (max_lstm_layers + 1))
    hyperparameters['lstm_dims'] = np.random.randint(min_lstm_dims, (max_lstm_dims + 1), number_of_lstm_layers).tolist()
    return hyperparameters
Generate a hyperparameter set that defines a DeepConvLSTM model.

Parameters
----------
min_conv_layers : int
    minimum number of Conv layers in DeepConvLSTM model
max_conv_layers : int
    maximum number of Conv layers in DeepConvLSTM model
min_conv_filters : int
    minimum number of filters per Conv layer in DeepConvLSTM model
max_conv_filters : int
    maximum number of filters per Conv layer in DeepConvLSTM model
min_lstm_layers : int
    minimum number of Conv layers in DeepConvLSTM model
max_lstm_layers : int
    maximum number of Conv layers in DeepConvLSTM model
min_lstm_dims : int
    minimum number of hidden nodes per LSTM layer in DeepConvLSTM model
max_lstm_dims : int
    maximum number of hidden nodes per LSTM layer in DeepConvLSTM model
low_lr : float
    minimum of log range for learning rate: learning rate is sampled
    between `10**(-low_reg)` and `10**(-high_reg)`
high_lr : float
    maximum  of log range for learning rate: learning rate is sampled
    between `10**(-low_reg)` and `10**(-high_reg)`
low_reg : float
    minimum  of log range for regularization rate: regularization rate is
    sampled between `10**(-low_reg)` and `10**(-high_reg)`
high_reg : float
    maximum  of log range for regularization rate: regularization rate is
    sampled between `10**(-low_reg)` and `10**(-high_reg)`

Returns
----------
hyperparameters: dict
    hyperparameters for a DeepConvLSTM model
def generate_DeepConvLSTM_hyperparameter_set(min_conv_layers=1, max_conv_layers=10, min_conv_filters=10, max_conv_filters=100, min_lstm_layers=1, max_lstm_layers=5, min_lstm_dims=10, max_lstm_dims=100, low_lr=1, high_lr=4, low_reg=1, high_reg=4):
    ' Generate a hyperparameter set that defines a DeepConvLSTM model.\n\n    Parameters\n    ----------\n    min_conv_layers : int\n        minimum number of Conv layers in DeepConvLSTM model\n    max_conv_layers : int\n        maximum number of Conv layers in DeepConvLSTM model\n    min_conv_filters : int\n        minimum number of filters per Conv layer in DeepConvLSTM model\n    max_conv_filters : int\n        maximum number of filters per Conv layer in DeepConvLSTM model\n    min_lstm_layers : int\n        minimum number of Conv layers in DeepConvLSTM model\n    max_lstm_layers : int\n        maximum number of Conv layers in DeepConvLSTM model\n    min_lstm_dims : int\n        minimum number of hidden nodes per LSTM layer in DeepConvLSTM model\n    max_lstm_dims : int\n        maximum number of hidden nodes per LSTM layer in DeepConvLSTM model\n    low_lr : float\n        minimum of log range for learning rate: learning rate is sampled\n        between `10**(-low_reg)` and `10**(-high_reg)`\n    high_lr : float\n        maximum  of log range for learning rate: learning rate is sampled\n        between `10**(-low_reg)` and `10**(-high_reg)`\n    low_reg : float\n        minimum  of log range for regularization rate: regularization rate is\n        sampled between `10**(-low_reg)` and `10**(-high_reg)`\n    high_reg : float\n        maximum  of log range for regularization rate: regularization rate is\n        sampled between `10**(-low_reg)` and `10**(-high_reg)`\n\n    Returns\n    ----------\n    hyperparameters: dict\n        hyperparameters for a DeepConvLSTM model\n    '
    hyperparameters = generate_base_hyper_parameter_set(low_lr, high_lr, low_reg, high_reg)
    number_of_conv_layers = np.random.randint(min_conv_layers, (max_conv_layers + 1))
    hyperparameters['filters'] = np.random.randint(min_conv_filters, (max_conv_filters + 1), number_of_conv_layers).tolist()
    number_of_lstm_layers = np.random.randint(min_lstm_layers, (max_lstm_layers + 1))
    hyperparameters['lstm_dims'] = np.random.randint(min_lstm_dims, (max_lstm_dims + 1), number_of_lstm_layers).tolist()
    return hyperparameters