public NDArray ForwardPass(NDArray input) { //input has size numDims x inputFeats //output has size numDims x outputFeats //weights has size inputFeats x outputFeats //TODO create weights, create biases, //number of input feats int num_input = input.shape[1]; int num_hidden = 16; int num_output = 1; var sigmoid = new Sigmoid(); var tanh = new Tanh(); var fc1 = new Linear(num_input, num_hidden); var x = fc1.Apply(input); x = tanh.Apply(x); var fc2 = new Linear(num_hidden, num_hidden); x = fc2.Apply(x); x = tanh.Apply(x); var fc3 = new Linear(num_hidden, num_output); x = fc3.Apply(x); x = sigmoid.Apply(x); return(x); }