def collect_parameter_spec_list_cocktail16_w0_hyper_alpha_lambda1p6():
    """
    Add the lambda1p6 (i.e., lambda fixed to value 1.6)
    :return:
    """
    spec_list = generate_parameter_spec_ab_product_hyper_alpha_debug(
        gen_param_files_p=False)
    pspec_list = [
        experiment_tools.ParameterSpec(parameters_file, parameters_dir,
                                       model_filename_postfix) for
        parameters_file, parameters_dir, model_filename_postfix in spec_list
    ]
    pspec_list += \
        [experiment_tools.ParameterSpec(
            parameters_file='music_bach_LT_HMM_W0-J600_aalpha1_balpha1_lambda1p6.config',
            parameters_dir='experiment/parameters/music_bach_hyper_alpha_debug',
            model_filename_postfix='aalpha1_balpha1_lambda1p6'),
         experiment_tools.ParameterSpec(
             parameters_file='music_bach_LT_HMM_W0-J600_aalpha1_balpha0p1_lambda1p6.config',
             parameters_dir='experiment/parameters/music_bach_hyper_alpha_debug',
             model_filename_postfix='aalpha1_balpha0p1_lambda1p6'),
         experiment_tools.ParameterSpec(
             parameters_file='music_bach_LT_HMM_W0-J600_aalpha0p1_balpha1_lambda1p6.config',
             parameters_dir='experiment/parameters/music_bach_hyper_alpha_debug',
             model_filename_postfix='aalpha0p1_balpha1_lambda1p6'),
         experiment_tools.ParameterSpec(
             parameters_file='music_bach_LT_HMM_W0-J600_aalpha0p1_balpha0p1_lambda1p6.config',
             parameters_dir='experiment/parameters/music_bach_hyper_alpha_debug',
             model_filename_postfix='aalpha0p1_balpha0p1_lambda1p6')
         ]
    return pspec_list
def collect_parameter_spec_list_cocktail16_w0_hyperab(parameters_path,
                                                      hyperparam):
    """
    cp **NO** weight learning (w0), 1500 iterations, D=16, and J=600 for hmm
    works with: cocktail_s16_m12
    :return:
    """
    bfact = [experiment_tools.ParameterSpec
             ('music_bach_BFact_HMM_W0_a{0}{1}_b{0}{2}.config' \
              .format(hyperparam, float2string(aalpha), float2string(balpha)),
              parameters_path,
              'a{0}{1}_b{0}{2}' \
              .format(hyperparam, float2string(aalpha), float2string(balpha)))
             for aalpha in (0.01, 0.1, 5)
             for balpha in (0.01, 0.1, 5)]

    lt = [experiment_tools.ParameterSpec
          ('music_bach_LT_HMM_W0-J600_a{0}{1}_b{0}{2}.config' \
           .format(hyperparam, float2string(aalpha), float2string(balpha)),
           parameters_path,
           'a{0}{1}_b{0}{2}' \
           .format(hyperparam, float2string(aalpha), float2string(balpha)))
          for aalpha in (0.01, 0.1, 5)
          for balpha in (0.01, 0.1, 5)]

    nolt = [experiment_tools.ParameterSpec
            ('music_bach_noLT_HMM_W0-J600_a{0}{1}_b{0}{2}.config' \
             .format(hyperparam, float2string(aalpha), float2string(balpha)),
             parameters_path,
             'a{0}{1}_b{0}{2}' \
             .format(hyperparam, float2string(aalpha), float2string(balpha)))
            for aalpha in (0.01, 0.1, 5)
            for balpha in (0.01, 0.1, 5)]

    return bfact + lt + nolt
def collect_parameter_spec_list_latent_continue_syn_block_diag12_10000itr_hmc(parameters_path):
    """
    Latent continuous state synthetic experiment parameters
    :return:
    """
    return [ experiment_tools.ParameterSpec('block_diag12_LT_10000itr_hmc.config', parameters_path),
             experiment_tools.ParameterSpec('block_diag12_noLT_10000itr_hmc.config', parameters_path) ]
def collect_parameter_spec_list_latent_continue_syn_block_diag40_lambda1(parameters_path):
    """
    Latent continuous state synthetic experiment parameters
    J=100, to accommodate the 40-state block-diagonal data
    10,000 iterations, hmc
    :return:
    """
    return [ experiment_tools.ParameterSpec('block_diag40_LT_lambda1.config', parameters_path),
             experiment_tools.ParameterSpec('block_diag40_noLT_lambda1.config', parameters_path) ]
def collect_parameter_spec_list_music_chord1_J2(parameters_path):
    """
    Music chord 1 **NO** weight learning (w0), 10000 iterations, J=2
    works with:
    :return:
    """
    return [
        experiment_tools.ParameterSpec('music_chord1_LT_J2.config',
                                       parameters_path),
        experiment_tools.ParameterSpec('music_chord1_noLT_J2.config',
                                       parameters_path)
    ]
def collect_parameter_spec_list_music_simple_melody1_pitch(parameters_path):
    """
    Music simple melody 1 PITCH ONLY **NO** weight learning (w0), 100,000 iterations
    works with:
    :return:
    """
    return [
        experiment_tools.ParameterSpec('music_simple_melody1_pitch_LT.config',
                                       parameters_path),
        experiment_tools.ParameterSpec(
            'music_simple_melody1_pitch_noLT.config', parameters_path)
    ]
def collect_parameter_spec_list_cocktail16_w0_hyper_h():
    spec_list = generate_parameter_spec_ab_product_hyper_h(
        gen_param_files_p=False)
    return [
        experiment_tools.ParameterSpec(parameters_file, parameters_dir,
                                       model_filename_postfix) for
        parameters_file, parameters_dir, model_filename_postfix in spec_list
    ]
def collect_parameter_spec_list_cocktail16_w0(parameters_path):
    """
    cp **NO** weight learning (w0), 1500 iterations, D=16, and J=600 for hmm
    works with: cocktail_s16_m12
    :return:
    """
    return [ # experiment_tools.ParameterSpec('cocktail16_inference_BFact_HMM_W0.config', parameters_path),
             # experiment_tools.ParameterSpec('cocktail16_inference_LT_HMM_W0-J600.config', parameters_path),
             experiment_tools.ParameterSpec('cocktail16_inference_noLT_HMM_W0-J600.config', parameters_path)
    ]
示例#9
0
def collect_parameter_spec_list_cocktail16_w0_all_models():
    return \
        (experiment_tools.ParameterSpec(
            parameters_file='cocktail16_inference_BFact_HMM_W0.config',
            parameters_dir='experiment/parameters',
            model_filename_postfix=''),
         experiment_tools.ParameterSpec(
             parameters_file='cocktail16_inference_LT_HMM_W0-J200.config',
             parameters_dir='experiment/parameters',
             model_filename_postfix=''),
         experiment_tools.ParameterSpec(
             parameters_file='cocktail16_inference_noLT_HMM_W0-J200.config',
             parameters_dir='experiment/parameters',
             model_filename_postfix=''),
         experiment_tools.ParameterSpec(
             parameters_file='cocktail16_inference_sticky_HMM_W0-J200.config',
             parameters_dir='experiment/parameters',
             model_filename_postfix=''),
         experiment_tools.ParameterSpec(
             parameters_file='cocktail16_inference_stickyLT_HMM_W0-J200.config',
             parameters_dir='experiment/parameters',
             model_filename_postfix=''))
def collect_parameter_spec_list_music_bach_StickyLT_lambda_epsilon_D3():
    """
    parameter_spec list for bach StickyLT *ONLY* lambda_epsilon D3 experiment
    :return:
    """
    spec_list = generate_parameter_spec_lambda_epsilon_bach_StickyLT_D3(
        gen_param_files_p=False, verbose=False)

    pspec_list = [
        experiment_tools.ParameterSpec(parameters_file, parameters_dir,
                                       model_filename_postfix) for
        parameters_file, parameters_dir, model_filename_postfix in spec_list
    ]

    return pspec_list
def collect_parameter_spec_list_cocktail16_w0_hyper_regression(
        param_var='alpha'):
    """
    REGRESSION TEST Version of get parameter_spec_list for hyper
    sets a/b_<hyper_param_var>
    :param param_var:
    :return:
    """
    spec_list = generate_parameter_spec_ab_product_hyper_regression_test(
        param_var=param_var, gen_param_files_p=False)
    return [
        experiment_tools.ParameterSpec(parameters_file, parameters_dir,
                                       model_filename_postfix) for
        parameters_file, parameters_dir, model_filename_postfix in spec_list
    ]
def collect_parameter_spec_list_music_bach_Sticky_StickyLT_lambda_epsilon():
    """
    parameter_spec list for bach Sticky and StickyLT lambda_epsilon experiment
    also includes music_bach_major_noLT.config
    :return:
    """
    spec_list = generate_parameter_spec_lambda_epsilon_bach_stickyLT(
        gen_param_files_p=False, verbose=False)
    pspec_list = [
        experiment_tools.ParameterSpec(parameters_file, parameters_dir,
                                       model_filename_postfix) for
        parameters_file, parameters_dir, model_filename_postfix in spec_list
    ]

    pspec_list += \
        [experiment_tools.ParameterSpec \
             (parameters_file='music_bach_major_Sticky.config',
              parameters_dir='experiment/parameters',
              model_filename_postfix='')]

    return pspec_list