Go to file
2019-07-13 23:56:27 +03:00
docs Documentation 2019-07-08 23:29:09 +03:00
examples Documentation 2019-06-17 00:59:07 +03:00
trains Fix pycharm plugin support large git diff over OS environment 2019-07-13 23:56:27 +03:00
_config.yml Set theme jekyll-theme-hacker 2019-06-10 11:23:57 +03:00
.gitignore Ignore examples output 2019-06-11 18:11:21 +03:00
LICENSE Initial commit 2019-06-10 11:18:33 +03:00
README.md Documentation 2019-07-09 12:12:50 +03:00
requirements.txt Removed colorama / coloredlogs, they are now optional packages dynamically loaded 2019-07-09 03:05:33 +03:00
setup.cfg Documentation 2019-06-11 14:36:36 +03:00
setup.py Documentation 2019-06-14 02:07:47 +03:00

TRAINS

Auto-Magical Experiment Manager & Version Control for AI

"Because its a jungle out there"

GitHub license PyPI pyversions PyPI version shields.io PyPI status

TRAINS is our solution to a problem we share with countless other researchers and developers in the machine learning/deep learning universe: Training production-grade deep learning models is a glorious but messy process. TRAINS tracks and controls the process by associating code version control, research projects, performance metrics, and model provenance.

We designed TRAINS specifically to require effortless integration so that teams can preserve their existing methods and practices. Use it on a daily basis to boost collaboration and visibility, or use it to automatically collect your experimentation logs, outputs, and data to one centralized server.

(Experience TRAINS live at https://demoapp.trainsai.io) Alt Text

Main Features

  • Seamless integration with leading frameworks, including: PyTorch, TensorFlow, Keras, and others coming soon
  • Support for Jupyter Notebook and PyCharm remote debugging
  • Automatic log collection.
  • Query, Filter, and Compare your experiment data and results
  • Share and collaborate

Detailed overview of TRAINS offering and system design can be found Here.

Using TRAINS

We have a demo server up and running at https://demoapp.trainsai.io. You can try out TRAINS and test your code with it. Note that it resets every 24 hours and all of the data is deleted.

When you are ready to use your own TRAINS server, go ahead and install TRAINS-server.

TRAINS requires only two lines of code for full integration.

To connect your code with TRAINS:

  1. Install TRAINS

     pip install trains
    
  2. Add the following lines to your code

     from trains import Task
     task = Task.init(project_name="my project", task_name="my task")
    
    • If project_name is not provided, the repository name will be used instead
    • If task_name (experiment) is not provided, the current filename will be used instead
  3. Run your code. When TRAINS connects to the server, a link is printed. For example

     TRAINS Results page:
     https://demoapp.trainsai.io/projects/76e5e2d45e914f52880621fe64601e85/experiments/241f06ae0f5c4b27b8ce8b64890ce152/output/log
    
  4. Open the link and view your experiment parameters, model and tensorboard metrics

Configuring Your Own TRAINS

  1. Install and run TRAINS-server (see Installing the TRAINS Server)

  2. Run the initial configuration wizard for your TRAINS installation and follow the instructions to setup TRAINS package (http://trains-server-ip:port and user credentials)

     trains-init
    

After installing and configuring, you can access your configuration file at ~/trains.conf

Sample configuration file available here.

For more examples and use cases, see examples.

Who We Are

TRAINS is supported by the same team behind allegro.ai, where we build deep learning pipelines and infrastructure for enterprise companies.

We built TRAINS to track and control the glorious but messy process of training production-grade deep learning models. We are committed to vigorously supporting and expanding the capabilities of TRAINS.

Why Are We Releasing TRAINS?

We believe TRAINS is ground-breaking. We wish to establish new standards of experiment management in deep-learning and ML. Only the greater community can help us do that.

We promise to always be backwardly compatible. If you start working with TRAINS today, even though this project is currently in the beta stage, your logs and data will always upgrade with you.

License

Apache License, Version 2.0 (see the LICENSE for more information)

Community

If you have any questions, look to the TRAINS FAQ, or tag your questions on stackoverflow with 'trains' tag.

For feature requests or bug reports, please use GitHub issues.

Additionally, you can always find us at trains@allegro.ai

Contributing

See the TRAINS Guidelines for Contributing.

May the force (and the goddess of learning rates) be with you!