Example #1
0
void MLPBackpropagationTrainingSettings::initMLPBTS(unsigned int epochs, double MSEmin, double RMSEmin, double CEmin, double learningRate, MultilayerPerceptron::StopCondition em)
{
	setMaxEpochs(epochs);
	setMinMSE(MSEmin);
	setMinRMSE(RMSEmin);
	setMinCE(CEmin);
	setLearningRate(learningRate);
	setStopParameter(em);
}
Example #2
0
void MLPBackpropagationTrainingSettings::initMLPBTS(unsigned int epochs, MultilayerPerceptron::StopCondition em, double emValue, double learningRate)
{
	setMaxEpochs(epochs);
	setStopParameter(em);
	setMinMSE(emValue);
	setMinRMSE(emValue);
	setMinCE(emValue);
//	setStopParameterValue(emValue);
	setLearningRate(learningRate);
}
Example #3
0
MLPBackpropagationTrainingSettings MLPBackpropagationTrainingSettings::operator=(const MLPBackpropagationTrainingSettings &mlpbp)
{
	setLearningRate(mlpbp.getLearningRate());
	setMaxEpochs(mlpbp.getMaxEpochs());
	setMinCE(mlpbp.getMinCE());
	setMinMSE(mlpbp.getMinMSE());
	setMinRMSE(mlpbp.getMinRMSE());
	setStopParameter(mlpbp.getStopParameter());
	return *this;
}
Example #4
0
void ViTrainer::clear()
{
	setNetwork(NULL);
	setLearningRate(DEFAULT_LEARNING_RATE);
	setIterationLimit(0); //Unlimited
	setErrorLimit(0);
	mCurrentIteration = -1;
	mCurrentError = 1;
	viDeleteAll(mErrorFunctions);
}
Example #5
0
bool ViTrainer::importData(ViElement element)
{
	if(element.name() != "trainer")
	{
		element = element.child("trainer");
		if(element.name() != "trainer")
		{
			return false;
		}
	}

	ViElement theName = element.child("name");
	if(theName.isNull())
	{
		return false;
	}
	if(theName.toString() != name("Trainer"))
	{
		return false;
	}

	ViElement limit = element.child("iterationlimit");
	if(limit.isNull())
	{
		LOG("The iteration limit could not be imported", QtCriticalMsg);
	}
	else
	{
		setIterationLimit(limit.toInt());
	}

	limit = element.child("errorlimit");
	if(limit.isNull())
	{
		LOG("The error limit could not be imported", QtCriticalMsg);
	}
	else
	{
		setErrorLimit(limit.toReal());
	}

	limit = element.child("learningrate");
	if(limit.isNull())
	{
		LOG("The learning could not be imported", QtCriticalMsg);
	}
	else
	{
		setLearningRate(limit.toReal());
	}

	addErrorFunction(ViErrorFunctionManager::create(element));

	return true;
}
Example #6
0
bool cvzMmcm_IDL::read(yarp::os::ConnectionReader& connection) {
  yarp::os::idl::WireReader reader(connection);
  reader.expectAccept();
  if (!reader.readListHeader()) { reader.fail(); return false; }
  yarp::os::ConstString tag = reader.readTag();
  bool direct = (tag=="__direct__");
  if (direct) tag = reader.readTag();
  while (!reader.isError()) {
    // TODO: use quick lookup, this is just a test
    if (tag == "start") {
      start();
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(0)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "pause") {
      pause();
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(0)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "quit") {
      bool _return;
      _return = quit();
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeBool(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "setLearningRate") {
      double l;
      if (!reader.readDouble(l)) {
        reader.fail();
        return false;
      }
      setLearningRate(l);
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(0)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "getLearningRate") {
      double _return;
      _return = getLearningRate();
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeDouble(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "setSigma") {
      double s;
      if (!reader.readDouble(s)) {
        reader.fail();
        return false;
      }
      setSigma(s);
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(0)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "getSigma") {
      double _return;
      _return = getSigma();
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeDouble(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "getActivity") {
      int32_t x;
      int32_t y;
      int32_t z;
      if (!reader.readI32(x)) {
        reader.fail();
        return false;
      }
      if (!reader.readI32(y)) {
        reader.fail();
        return false;
      }
      if (!reader.readI32(z)) {
        reader.fail();
        return false;
      }
      double _return;
      _return = getActivity(x,y,z);
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeDouble(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "saveWeightsToFile") {
      std::string path;
      if (!reader.readString(path)) {
        reader.fail();
        return false;
      }
      bool _return;
      _return = saveWeightsToFile(path);
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeBool(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "loadWeightsFromFile") {
      std::string path;
      if (!reader.readString(path)) {
        reader.fail();
        return false;
      }
      bool _return;
      _return = loadWeightsFromFile(path);
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeBool(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "saveRF") {
      std::string path;
      if (!reader.readString(path)) {
        reader.fail();
        return false;
      }
      bool _return;
      _return = saveRF(path);
      yarp::os::idl::WireWriter writer(reader);
      if (!writer.isNull()) {
        if (!writer.writeListHeader(1)) return false;
        if (!writer.writeBool(_return)) return false;
      }
      reader.accept();
      return true;
    }
    if (tag == "help") {
      std::string functionName;
      if (!reader.readString(functionName)) {
        functionName = "--all";
      }
      std::vector<std::string> _return=help(functionName);
      yarp::os::idl::WireWriter writer(reader);
        if (!writer.isNull()) {
          if (!writer.writeListHeader(2)) return false;
          if (!writer.writeTag("many",1, 0)) return false;
          if (!writer.writeListBegin(BOTTLE_TAG_INT, static_cast<uint32_t>(_return.size()))) return false;
          std::vector<std::string> ::iterator _iterHelp;
          for (_iterHelp = _return.begin(); _iterHelp != _return.end(); ++_iterHelp)
          {
            if (!writer.writeString(*_iterHelp)) return false;
           }
          if (!writer.writeListEnd()) return false;
        }
      reader.accept();
      return true;
    }
    if (reader.noMore()) { reader.fail(); return false; }
    yarp::os::ConstString next_tag = reader.readTag();
    if (next_tag=="") break;
    tag = tag + "_" + next_tag;
  }
  return false;
}