Releasing CherryVis: a replay viewer for TorchCraftAI
We're glad to announce today that we are open sourcing CherryVis. Based on OpenBW's replay viewer, CherryVis allows you to to view StarCraft replays alongside information about the bot's state. It's a powerful tool to simultaneously understand, develop and debug agents built with TorchCraftAI, as it gives access to:
- The blackboard: a place where we store information shared between modules, such as the current build order
- The logs
- For any unit: its ID, HP, task - or even unit-specific log messages
- The tree of UPC tuples issued
Machine learning visualization
In a machine learning context, it is often difficult to interpret a model's outputs, or understand if intermediate results are reasonable. That's why CherryVis includes features useful to researchers:
- Arbitrary trees visualization. For example for Monte Carlo trees
- Tensor summaries. Tensor values are displayed in a histogram, dynamically updated as the game progresses
- Heatmaps game overlay
- .. and many more
Getting started
If you are curious about this tool, you can try it for yourself after setting up the python dependencies and building OpenBW to Javascript. We also provide a few example replays with data for CherryVis, so you don't need to setup Starcraft or TorchCraftAI to understand how the bot works.
For advanced users who are already using TorchCraftAI, we provide an example script dumping various data to CherryVis.
Note that CherryVis can be used outside of TorchCraftAI as well. A zstd compressed JSON trace file can be provided to benefit from its features and dump logs, tensors trees, ... see CherryVisDumperModule::writeGameSummary for the format. Feel free to file a new GitHub issue if you need help adapting CherryVis to your workflow.