Example #1
0
def init_params(options):
    """
    初始化所有参数(比较复杂的层就调单独函数,简单的就在这里初始化).
    这样写需要对各层都比较了解,看起来封装不好,但是灵活性好。
    """
    params = OrderedDict()
    # embedding
    #randn = numpy.random.rand(options['n_words'],
    #                          options['dim_proj'])
    #params['Wemb'] = (0.01 * randn).astype(config.floatX)
    #params = get_layer(options['encoder'])[0](options,
    #                                          params,
    #                                          prefix=options['encoder'])
    #param_init_cnn(options, params, prefix='c1')
    #param_init_cnn(options, params, prefix='c2')
    #param_init_cnn(options, params, prefix='c3')
    #param_init_cnn(options, params, prefix='c4')
    # hidden layer
    params['h1_W'], params['h1_b'] = cnn_utils.ini_hidden_params(
        options['h1_option'])
    params['h2_W'], params['h2_b'] = cnn_utils.ini_hidden_params(
        options['h2_option'])
    params['h3_W'], params['h3_b'] = cnn_utils.ini_hidden_params(
        options['h3_option'])
    # classifier
    params['U'] = 0.01 * numpy.random.randn(
        options['h3_option'][1], options['ydim']).astype(config.floatX)
    params['b'] = numpy.zeros((options['ydim'], )).astype(config.floatX)

    return params
def init_params(options):
    """
    初始化所有参数(比较复杂的层就调单独函数,简单的就在这里初始化).
    这样写需要对各层都比较了解,看起来封装不好,但是灵活性好。
    """
    params = OrderedDict()
    # embedding
    #randn = numpy.random.rand(options['n_words'],
    #                          options['dim_proj'])
    #params['Wemb'] = (0.01 * randn).astype(config.floatX)
    #params = get_layer(options['encoder'])[0](options,
    #                                          params,
    #                                          prefix=options['encoder'])
    #param_init_cnn(options, params, prefix='c1')
    #param_init_cnn(options, params, prefix='c2')
    #param_init_cnn(options, params, prefix='c3')
    #param_init_cnn(options, params, prefix='c4')
    # hidden layer
    params['h1_W_1'], params['h1_b_1'] = cnn_utils.ini_hidden_params(options['h1_option'])
    params['h2_W_1'], params['h2_b_1'] = cnn_utils.ini_hidden_params(options['h2_option']) 
    params['h1_W_2'], params['h1_b_2'] = cnn_utils.ini_hidden_params(options['h1_option'])
    params['h2_W_2'], params['h2_b_2'] = cnn_utils.ini_hidden_params(options['h2_option']) 
    # classifier
    params['U'] = 0.01 * numpy.random.randn(options['h2_option'][1]*2,
                                            options['ydim']).astype(config.floatX)
    params['b'] = numpy.zeros((options['ydim'],)).astype(config.floatX)

    return params