| 
<?phpinclude_once("../../CLASSES/Headers.php");
 use NameSpaceNumpyLight\NumpyLight;
 use NameSpaceRandomGenerator\RandomGenerator;
 use NameSpaceActivationRelu\Activation_Relu;
 
 list($X, $y) = NumpyLight::spiral_data(100, 3);
 $dense1 = new Layer_Dense(2,3);
 $activation1 = new Activation_ReLU();
 $dense2 = new Layer_Dense(3,3);
 $loss_activation = new Activation_Softmax_Loss_CategoricalCrossentropy();
 $dense1->forward($X);
 $activation1->forward($dense1->output);
 $dense2->forward($activation1->output);
 $loss = $loss_activation->forward($dense2->output,$y);
 $acc = NumpyLight::accuracy($loss_activation->output, $y);
 NumpyLight::displayMatrix($loss_activation->output);
 
 echo "\nloss: $loss\n";
 
 echo "\nacc: $acc\n";
 
 //238
 
 $loss_activation->backward($loss_activation->output, $y);
 $dense2->backward($loss_activation->dinputs);
 $activation1->backward($dense2->dinputs);
 $dense1->backward($activation1->dinputs);
 # Print gradients
 NumpyLight::displayMatrix ($dense1->dweights);
 echo "\n";
 NumpyLight::displayMatrix ($dense1->dbiases);
 echo "\n";
 NumpyLight::displayMatrix ($dense2->dweights);
 echo "\n";
 NumpyLight::displayMatrix ($dense2->dbiases);
 
 ?>
 
 |