start_session.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/python3
  2. # File designed to be launched by user
  3. print("Start session")
  4. # Import python libraries
  5. from scipy.special import expit
  6. import argparse
  7. # Import local code to call
  8. from lab import generator, trainer, benchmark
  9. # Parse script arguments
  10. parser = argparse.ArgumentParser(description = "Start a training session for a neuronal network and display results.")
  11. parser.add_argument('--alpha', help = "set the learning rate", dest="learnRate", type = float, default = 0.05)
  12. parser.add_argument('--epochs', help = "set the number of iterations", dest="epochs", type = int, default = 2)
  13. args = parser.parse_args()
  14. # Parameters
  15. print("Parameters")
  16. print("Learning rate : ", args.learnRate)
  17. print("Number of epochs : ", args.epochs)
  18. activation = expit
  19. activationDerivative = lambda x : expit(x) * (1 - expit(x))
  20. # Session
  21. network = generator.generate(activation, activationDerivative, generator.gaussAdaptedDev)
  22. precisionBefore = benchmark.computePrecision(network)
  23. network = trainer.train(network, args.learnRate, args.epochs)
  24. precisionAfter = benchmark.computePrecision(network)
  25. # Display results
  26. print("Precision before training : ", precisionBefore)
  27. print("Precision after training : ", precisionAfter)