rangl-labs / netzerotc

MIT License
11 stars 2 forks source link

Create challenge in EvalAI and test all features (17th Dec) #92

Closed moriartyjm closed 2 years ago

moriartyjm commented 2 years ago
masonlr commented 2 years ago

I'm working on the VM in the RangL subscription called "freshVM": so far have:

Next up on the todo list is:

masonlr commented 2 years ago

These URLs are currently active:

challengesnew.rangl.org
submissionsnew.rangl.org

They represent the latest version of EvalAI with the NZTC challenge deployed.

Once these have been tested, we will swap the DNS settings over so that

challengesnew.rangl.org becomes challenges.rangl.org
submissionsnew.rangl.org becomes submissions.rangl.org
masonlr commented 2 years ago

An example testing session looks like this:

# set up the evalai cli
$ conda create -n test-submission python=3.10
$ conda activate test-submission
$ pip install evalai
$ evalai --version
evalai, version 1.3.14

$ cd random_agent_submission

# build the submission image
$ make
docker build -t submission:v0.1.0 .
[+] Building 2.7s (11/11) FINISHED
...

# set the evalai url
$ evalai host -sh http://submissionsnew.rangl.org
http://submissionsnew.rangl.org is set as the host url.

# login to evalai
$ evalai login
username: masonlr
Enter password:

Logged in successfully!

# submit the solution image
$ evalai push submission:v0.1.0 --phase nztc-dev-1
...

Your docker file is successfully submitted.

You can use `evalai submission 1` to view this submission's status.
masonlr commented 2 years ago

The submission should then be visible in the browser:

image
jia-chenhua commented 2 years ago

I've done what I can in https://github.com/rangl-labs/netzerotc/commit/016432cfe794049c8f54241c1a417b1cd455108a. I don't have time to investigate the detailed logic of how https://github.com/rangl-labs/netzerotc/blob/016432cfe794049c8f54241c1a417b1cd455108a/environment/server.py handles env_id supplied by https://github.com/rangl-labs/netzerotc/blob/016432cfe794049c8f54241c1a417b1cd455108a/random_agent_submission/agent.py#L11 without mentioning the first part reference_environment_direct_deployment in the env_id string. It is not efficient for me to spend quite a lot of time to investigate how to do it, as I don't have experience with HTTP services. This is too time consuming, if not time wasting.

For now, I superficially duplicated the services in https://github.com/rangl-labs/netzerotc/blob/016432cfe794049c8f54241c1a417b1cd455108a/docker-compose.yml, so that each phase has its own port number, and then I updated all other related files, without going into the details of https://github.com/rangl-labs/netzerotc/blob/016432cfe794049c8f54241c1a417b1cd455108a/environment/server.py. So this current implementation could be inefficient and it should be possible to improve it to save CPU & other resources on the VM/cloud. Therefore, @masonlr , please have a look at this and see if it can be improved. Many thanks.

masonlr commented 2 years ago

Thanks. I'll pick this up on Monday.

This is too time consuming, if not time wasting.

Please don't spend time on this.

masonlr commented 2 years ago

I've done what I can in 016432c.

If there is work underway, can you make sure there is a corresponding pull request? I've made https://github.com/rangl-labs/netzerotc/pull/95 to represent this comment above.

masonlr commented 2 years ago

Do we have three phases?

  1. Dev Phase
  2. Open-loop Phase
  3. Closed-loop Phase

If so, I suggest renaming the internal env folders to make this clear, i.e.:

env_dev
env_open_loop
env_closed_loop
masonlr commented 2 years ago

At the moment it's not clear to a contributor how reference_environment_direct_deployment fits in.

masonlr commented 2 years ago

This issue has been completed from a technical perspective. I suspect the the challenge phase descriptions will need updating:

image

They mention posting scores on Slack only for all phases, but this is likely no longer correct.

moriartyjm commented 2 years ago

The challenge phases text is now in https://github.com/rangl-labs/netzerotc/blob/c785657fb0542d1f1ddf5cfd51176676f071b8c2/evaluation/content/phases.html