miroesli / psscscs

Reinforcement Learning Battlesnake
MIT License
2 stars 1 forks source link

Heroku deployment #24

Open Krocodial opened 4 years ago

Krocodial commented 4 years ago

If we can run this on a lightweight platform like heroku I think it'd be ideal. See if we can stand this up on Heroku and how it performs

AhmedNSidd commented 4 years ago

I've worked with Heroku before, so I can do this. I'm assuming the expectation here would be that there would already be a pretrained model and the heroku deployed snake would really just be using that model to make moves?

Krocodial commented 4 years ago

Yea just stand up the API and it'll use a pre-trained model, we can always add the capability for the API to train the model at a later date and it should just be plug and play

Krocodial commented 4 years ago

I also wouldn't mind playing around with Heroku so let me know if you need any help

miroesli commented 4 years ago

I already have 2 snakes I've recently setup on heroku, so feel free to hit me up for help. Also, if you aren't aware, you get a free hobby dyno for heroku if you have the student package for github. This will make it so that the server doesn't go to "sleep" which was the downfall of one of my snakes for the winter competition as it didn't retreive the snake api in time while it was starting up.

miroesli commented 4 years ago

@Krocodial and I realized that we cannot deploy easily due to code ownership problems. The possible solutions were:

  1. fork the repo, and just deploy it that way - this will make auto deploys more difficult
  2. create an organization so that we can provide permissions to people and create the deployment
  3. have me deploy it.

Since standing up heroku is simple, we went with having me start it up until @Krocodial can figure out how to share his instance. It can be accessed through the link below:

https://psscscs-snake.herokuapp.com/

Right now it has an error when deploying from the dev branch though due to our requirements.txt file:

       ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you'll have setuptools 39.0.1 which is incompatible.

       Installing collected packages: bottle, greenlet, gevent, gunicorn, six, numpy, scipy, keras-preprocessing, h5py, keras-applications, pyyaml, keras, keras-rl, astor, termcolor, wrapt, gast, google-pasta, protobuf, absl-py, grpcio, werkzeug, markdown, tensorboard, tensorflow-estimator, tensorflow

On the master branch it works fine. So I'm guessing we have to add setuptools==41.0.0 to our requirements.txt file.

miroesli commented 4 years ago

See #28 for whoever wants to fix the issue.

miroesli commented 4 years ago

I've added all of you to the instance I've deployed for now.

AhmedNSidd commented 4 years ago

Update: Louis is gonna be working on this now as discussed in today's meeting