// test.cpp // David R. Morrison #include #include #include "network.hpp" using namespace std; int main(int argc, char* argv[]) { srand48(time(NULL)); int inputNum = 2; int outputNum = 1; int layerNum = 1; vector blocks(layerNum); vector blockSize(layerNum); for (int i = 0; i < layerNum; ++i) { blocks[i] = 2; blockSize[i] = 2; } Network nw(inputNum, outputNum, blocks, blockSize); cout << endl << nw; cout << "Beginning test....." << endl << endl << endl; vector inputs(inputNum); for (int i = 0; i < inputNum; ++i) inputs[i] = 1.0; vector targets(outputNum); for (int i = 0; i < outputNum; ++i) targets[i] = 2.0; for (int i = 0; i < 1000; ++i) { cout << i << "th Pass: "; vector out = nw.forwardPass(inputs); for (int j = 0; j < out.size(); ++j) cout << out[j] << " "; cout << endl; nw.backwardPass(targets); nw.updateWeights(0.1); } nw.clear(); inputs[0] = 4.0; inputs[1] = 4.0; cout << endl; vector out = nw.forwardPass(inputs); for (int j = 0; j < out.size(); ++j) cout << out[j] << " "; cout << endl; cout << nw; return 0; }