#include "Utils.hpp" #include "MlpFactory.hpp" #include "SynapticRandomizer.hpp" #include #include #include #include #include using namespace jymlp; MlpFactory::MlpFactory(istream & definition){ std::string line; std::string fieldname; std::string token; while (std::getline(definition, line)) { std::istringstream iss(line); if (!(iss >> fieldname)) continue; if (fieldname == "init_size:"){ if (!(iss >> token)) throw runtime_error("key 'init_size' with no value"); ininneur = splitToSizes(token,'-'); } else if (fieldname == "init_actf") { cerr << "WARNING: Unimplemented 'init_actf'. using defaults!" << endl; } else if (fieldname == "init_weights") { cerr << "WARNING: Unimplemented '"<< fieldname << "'. using defaults!" << endl; } else { cerr << "WARNING: Unknown fieldname '"<< fieldname << "'. ignoring!" << endl; } // FIXME: This will be updated along the way: iniactf.resize(ininneur.size()); iniactf[0] = actf::Unset; for (size_t i=0;i