Exemple #1
0
Real bptt_unit_activation(Group *group,int unit,int tick)
{
  if (group->activationType==LOGISTIC_ACTIVATION) 
    return (CLIP(sigmoid_activation(group->inputs[tick][unit],
				    group->temperature),
		 LOGISTIC_MIN,
		 LOGISTIC_MAX));
  else if (group->activationType==TANH_ACTIVATION)
    return (CLIP(tanh_activation(group->inputs[tick][unit],
				 group->temperature),
		 TANH_MIN,
		 TANH_MAX));
  else if (group->activationType==FAST_LOGISTIC_ACTIVATION)
    return (CLIP(fast_sigmoid_activation(group->inputs[tick][unit],
				 group->temperature),
		 TANH_MIN,
		 TANH_MAX));
  else if (group->activationType==LINEAR_ACTIVATION)
    return (linear_activation(group->inputs[tick][unit],
			      group->temperature));
  else if (group->activationType==STEP_ACTIVATION)
    return (step_activation(group->inputs[tick][unit],
			    group->temperature));
  else
    {
      Choke0("Group %s does not have legal activationType",group->name);
      exit(-1);
      return 0;  /* just so stupid compilers don't complain */
    }
}
Exemple #2
0
void Reservoir::activation(VectorXd &inputs, VectorXd &results) {
    switch (this->activation_function) {
        case TANH:
            return tanh_activation(inputs, results);
            break;
        case LINEAR:
            return linear_activation(inputs,results);
            break;
        default:
            //should throw an exception but we will put this off till later
            //output something
            throw OTLException("Wrong activation function specified");
    }
}