local network = nerv.class('nerv.Network')
function network:__init(id, global_conf, network_conf)
self.id = id
self.network = network_conf.network
self.dim_in = self.network.dim_in
self.dim_out = self.network.dim_out
self.gconf = global_conf
if self.gconf.use_cpu then
self.mat_type = self.gconf.mmat_type
else
self.mat_type = self.gconf.cumat_type
end
self.clip = network_conf.clip
self.nn_act_default = network_conf.nn_act_default
if self.nn_act_default == nil then
self.nn_act_default = 0
end
self.layers = {}
self.input_conn = {}
self.output_conn = {}
self.socket = self:compile(self.network)
for i = 1, #self.dim_in do
local edge = self.socket.inputs[i]
local id, port, time = edge[1], edge[2], edge[3]
if self.input_conn[id][port] ~= nil then
nerv.error('duplicate edge')
end
self.input_conn[id][port] = {0, i, time}
end
for i = 1, #self.dim_out do
local edge = self.socket.outputs[i]
local id, port, time = edge[1], edge[2], edge[3]
if self.output_conn[id][port] ~= nil then
nerv.error('duplic