This README is still work in progress
Machine learning competition platform
- Machine learning platform just like private Kaggle written in Ruby on Rails framework.
Overall Architecture
Demo environment
URL
https://demo-ml-competition-platform.herokuapp.com/
Demo user account
ID | [email protected] |
---|---|
Password | ^dvTT0JgIPS4V@RWW$Kw |
Sample JSON file for submission
Developer's manual
- Developer's manual is written in Github Wiki Page (Still WIP)
How to setup development environment
Deploy API server
-
Clone codes of API Server to calculate metrics for competition
git clone https://github.com/AillisInc/ml_competition_platform.git
-
Deploy API server according to the following steps
Setup environment variables.
cp .env.sample .env
vim .env
Copy the following text to .env file.
METRICS_API_ENDPOINT=http://host.docker.internal:8000/
METRICS_API_AUTH_KEY=secret_key # In production environment, a strong key is recommended.
METRICS_API_AUTH_KEY
About METRICS_API_AUTH_KEY
is used for authorization with API server to calculate metrics- Therefore, in production environment, it is recommended to use
METRICS_API_AUTH_KEY
value that cannot be easily guessed. METRICS_API_AUTH_KEY
value should be matched toAPI_KEY_TOKEN
value in API server
Build docker container with docker-compose
$ docker-compose run web bundle install
$ docker-compose run web rails db:setup
$ docker-compose up
Create User Account
- create admin account with the following command in rails console.
User.create(email: '[email protected]', password: 'password', name: "admin_user", role: "admin")
- in case of creating normal user account, execute the following command.
User.create(email: '[email protected]', password: 'password', name: "test_user", role: "member")
Server URL for development environment
Web API to calculate metrics
- To calculate metrics to determine ranking of each competitor, Web API written in Flask should be also deployed.
- The github code of this Web API server is here
License
MIT