Assuming your controller is trained and is represented as a function
my_controller(observation) returning an
action you can submit it to crowdAI through interaction with an environment there:
import opensim as osim from osim.http.client import Client # Settings remote_base = "http://grader.crowdai.org:1729" crowdai_token = "[YOUR_CROWD_AI_TOKEN_HERE]" client = Client(remote_base) # Create environment observation = client.env_create(crowdai_token) # IMPLEMENTATION OF YOUR CONTROLLER # my_controller = ... (for example the one trained in keras_rl) while True: [observation, reward, done, info] = client.env_step(my_controller(observation), True) print(observation) if done: observation = client.env_reset() if not observation: break client.submit()
Note that during the submission, the environment will get restarted. Since the environment is stochastic, you will need to submit three trials – this way we make sure that your model is robust.