Python/PyTorch Bot Submission Questions

36 views
Skip to first unread message

Scott Goodfriend

unread,
Jun 12, 2023, 8:13:23 PM6/12/23
to microRTS

Hello!

I’ve got 3 questions:

  1. Is my strategy below to get a Python submission reasonable?
  2. Do my installation instructions below seem reasonable?
  3. What machines (specifically CPU and/or GPU) will be used for the tournament?

I’m working on a submission that uses Farama-Foundation/MicroRTS-Py as a starting point. One of the big challenges is that while MicroRTS-Py used Python calling Java to streamline training, Java to Python communication to participate in MicroRTS competitions wasn’t implemented.

I’ve used SocketAI and douglasrizzo/python-microRTS as starting points to get something that plays my agent in a RoundRobinTournament. From what I can tell, I would need to submit the following:

  • jar file with SocketAI-like implementation
  • whl file with Python server code, dependencies, and PyTorch model

I’ve got a Colab proof-of-concept of the necessary steps to run a RoundRobinTournament using my jar file: https://github.com/sgoodfriend/rl-algo-impls/blob/main/rl_algo_impls/microrts/colab_microrts_demo.ipynb. Basically, other than downloading the files, the following seemed required:

  1. Python 3.8-3.10 must be installed
  2. pip install setuptools==65.5.0 wheel==0.38.4 My project depends on the stable-baselines3 RL project, which depends on gym 0.21.0, which require using older versions of installation libraries.
  3. python -m pip install rl_algo_impls-0.0.16-py3-none-any.whl

Does all of the above seem reasonable? Is it possible to do a test to see if the above works on the competition machines?

Performance: I’m using a neural network with 32 convolutional layers and about 5 million parameters. While it doesn’t require a GPU, it still requires a relatively beefy CPU to reliably get under the 100ms turn time limit. The Colab notebook has some average milliseconds/turn numbers based on machine and map, but basically the agent would need an 8+-core machine (and I might still opt for a smaller network on 32- and 64-maps for safety). If the competition machines are 2-core machines, I’d need to have substantially smaller networks. Knowing what the machines are will help me know what I should focus my training on.

Thanks!

Scott

Santi Ontañón

unread,
Jun 12, 2023, 9:08:54 PM6/12/23
to Scott Goodfriend, microRTS
Hi Scott, I would advise emailing the competition organizers at the email that is specified in the competition website to verify this: rubens...@ufv.br



--
You received this message because you are subscribed to the Google Groups "microRTS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microrts+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microrts/54c7b98a-4a70-42cf-ad56-1427b29688c3n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages