コード例 #1
0
TEST(CreationTest, Entries2Exit1Layers2)
{
  typedef NeuralNetwork<double, StepActivationFunction<double >> network;
  NeuralNetwork<double, StepActivationFunction<double >> nn;
  ASSERT_NO_THROW(nn.setEntries(2));
  ASSERT_NO_THROW(nn.setExits(1));
  ASSERT_NO_THROW(nn.setLayersCount(2));
  ASSERT_NO_THROW(nn.setEntries(2));
  ASSERT_NO_THROW(nn.setNeurons(1, 2));
  ASSERT_THROW(nn.setNeurons(2, 2), network::WrongArgument);
  ASSERT_NO_THROW(nn.init());
  std::vector<double> ans;
  ans.assign(2, 1);
  ASSERT_NO_THROW(nn.learn(ans.begin(), ans.end()));
  ASSERT_NO_THROW(nn.calcOutput());
  ASSERT_NO_THROW(nn.stop());
}
コード例 #2
0
TEST(StateTest, AllMethodsWithInit)
{
  typedef NeuralNetwork<double, StepActivationFunction<double >> network;
  NeuralNetwork<double, StepActivationFunction<double >> nn;
  ASSERT_NO_THROW(nn.init());
  ASSERT_THROW(nn.setEntries(2), network::WrongState);
  ASSERT_THROW(nn.setExits(2), network::WrongState);
  ASSERT_THROW(nn.setLayersCount(1), network::WrongState);
  ASSERT_THROW(nn.setEntries(2), network::WrongState);
  ASSERT_THROW(nn.setNeurons(1, 2), network::WrongState);
  ASSERT_THROW(nn.setNeurons(2, 2), network::WrongState);
  std::vector<double> ans;
  ans.assign(2, 1);
  ASSERT_NO_THROW(nn.learn(ans.begin(), ans.end()));
  ASSERT_NO_THROW(nn.calcOutput());
  ASSERT_NO_THROW(nn.stop());
}