aboutsummaryrefslogblamecommitdiff
path: root/nerv/main.lua
blob: 5cb7d0777e7551526370b9c8756d895df409f3fb (plain) (tree)


















                                                         





                                                      






                                     



                                     

 


                                                                                                                                        
 
                 
print 'Hello'

local global_conf = {
    cumat_type = nerv.CuMatrixFloat,
    param_random = function() return 0 end,
}

local layer_repo = nerv.LayerRepo(
    {
        ['nerv.RNNLayer'] = {
            rnn = {dim_in = {23}, dim_out = {26}},
        },
        ['nerv.AffineLayer'] = {
            input = {dim_in = {20}, dim_out = {23}},
            output = {dim_in = {26, 79}, dim_out = {79}},
        },
        ['nerv.SigmoidLayer'] = {
            sigmoid = {dim_in = {23}, dim_out = {23}},
        },
        ['nerv.SoftmaxLayer'] = {
            softmax = {dim_in = {79}, dim_out = {79}},
        },
        ['nerv.DuplicateLayer'] = {
            dup = {dim_in = {79}, dim_out = {79, 79}},
        },
    }, nerv.ParamRepo(), global_conf)

local connections = {
    {'<input>[1]', 'input[1]', 0},
    {'input[1]', 'sigmoid[1]', 0},
    {'sigmoid[1]', 'rnn[1]', 0},
    {'rnn[1]', 'output[1]', 0},
    {'output[1]', 'dup[1]', 0},
    {'dup[1]', 'output[2]', -1},
    {'dup[2]', 'softmax[1]', 0},
    {'softmax[1]', '<output>[1]', 0},
}

local graph = nerv.GraphLayer('graph', global_conf, {dim_in = {20}, dim_out = {79}, layer_repo = layer_repo, connections = connections})

local network = nerv.Network('network', global_conf, {network = graph})

network:init(2,5)