RedCrow9564 / FoundationsOfMachineLearning-FinalProject

This project was submitted as a requirement for this course. The course was administered in Spring 2018 in Tel-Aviv University - School of Mathematical Sciences

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Math Foundations in Machine Learning - Final Project

This is the main piece of code used for this project. It creates a Neural-Network model, according to a given input file, trains it and logs its performance to external files.

Prerequisites

This code is based on Python 3, using:

  • Keras
  • TensorFlow (as backend),
  • Numpy
  • Pandas, for saving layers outputs as csv files.
  • boto3

and their respectful dependencies.

Installing dependencies

Each package may be installed using PIP from terminal:

pip3 install package_name

or using Anaconda (from the conda environment terminal)

conda install package_name

Some installation may require admin privilege. See each package dependencies for further explanations.

Deployment

All logs created in this program are uploaded to specific folders in Amazon's S3 service. As a result, those who wish to run this program MUST acquire (somehow) a json file named credentials.json. This file must contain the AWS user public and private keys.

Running this code

Running may be performed using terminal commands:

python3_path main.py_relative_path --[experiment_config_file_relative_path]

or

python3_path main.py_relative_path -i [experiment_config_file_relative_path]

For example, if python3 is an environment variable in windows, and the terminal is in the project's main directory (MathFoundationsInML_FinalProject), one may run the program using:

python3 main.py --[experiment_file.json]

or

python3 main.py -i [experiment_file.json]

For more instructions, one may run the help commands:

python3_path main.py_relative_path --help

or

python3_path main.py_relative_path -h

The experiment configuration file is optional. If not given as input, the file experiment_config.json will be used instead.

Authors

  • Elad Eatah- A MSc student at the school of mathematical sciences, Tel-Aviv University.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Keras Team - for the usage of Keras in this project.
  • TensorFlow Team - for using TensorFlow as backend. TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.
  • Amazon Inc.- for usage of boto3.
  • Yu-Yang- whose code used for plotting Training and validation in single graph to TensorBoard.

About

This project was submitted as a requirement for this course. The course was administered in Spring 2018 in Tel-Aviv University - School of Mathematical Sciences

License:MIT License


Languages

Language:Python 100.0%