TorchCraft / TorchCraftAI

A platform that lets you build agents to learn to play StarCraft: Brood War.

Home Page:https://torchcraft.github.io/TorchCraftAI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I had trouble running Cherrypi

q228288040 opened this issue · comments

commented

I'm a computer novice. It's too difficult for me to run Cherrypi properly.
Is there a detailed running tutorial for beginners?

When I run cherrypi, this happens :

C:\windows\system32>F:\StarCraft\bwapi-data\cherrypi.exe -rlbp_model bwapi-data\AI\rlbp_model.bin -modules CreateGatherAttack,Strategy,GenericAutoBuild,RLBuildingPlacer,Builder,Tactics,SquadCombat,Scouting,Gatherer,Harass,StaticDefenceFocusFireModule,RecurrentBos -hostname 127.0.0.1 -bos_model bwapi-data\AI\bos_model.bin -bos_min_advantage 0.08 -vmodule modules=1 -bos_start 6 -bos_start_vs_rush -bos_model_type lstm -bos_num_layers 1 -bos_hid_dim 2048 -bos_bo_input
I05696/XXXXX [main.cpp:38] Connected to TorchCraft server at 127.0.0.1:11111
I05696/XXXXX [state.cpp:435] Enemy: Shelak Tribe playing Protoss
I05696/XXXXX [state.cpp:439] Map: iCCup Fighting spirit1.3.scx
I05696/XXXXX [state.cpp:440] Game is being played at LF6
I05696/XXXXX [banditconfigurations.cpp:160] Using default AIIDE bandit configuration
F1007 18:20:56.238013 5696 main.cpp:92] Exception: Read folder does not exist: ./bwapi-data/read
F05696/XXXXX [main.cpp:92] Exception: Read folder does not exist: ./bwapi-data/read
*** Check failure stack trace: ***
@ 00007FF7152F7125 private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt @ 00007FF7152F663C private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt
@ 00007FF7153238FD private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt @ 00007FFC9B9F1030 (unknown) @ 00007FFC9B9F3298 _is_exception_typeof @ 00007FFCB1C241C3 RtlCaptureContext @ 00007FF7151936DE private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt
@ 00007FF715317C85 private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::`anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt
@ 00007FFCB01F1FE4 BaseThreadInitThunk
@ 00007FFCB1BEEF91 RtlUserThreadStart

Hi @q228288040

BWAPI StarCraft bots are typically run with from a working directory with the following directory structure:

./ # This is the working directory
./bwapi-data/
./bwapi-data/AI/[Bot files go here, like cherrypi.exe]
./bwapi-data/read/
./bwapi-data/write/

So, to resolve this error:

Thanks for raising the question. We should document or automate this setup step.

commented

Thank you for answering my question.

After I revised the catalog, this still happened. Then the game gets stuck.

F:\StarCraft>F:\StarCraft\bwapi-data\AI\cherrypi.exe -rlbp_model bwapi-data\AI\rlbp_model.bin -modules CreateGatherAttack,Strategy,GenericAutoBuild,RLBuildingPlacer,Builder,Tactics,SquadCombat,Scouting,Gatherer,Harass,StaticDefenceFocusFireModule,RecurrentBos -hostname 127.0.0.1 -bos_model bwapi-data\AI\bos_model.bin -bos_min_advantage 0.08 -vmodule modules=1 -bos_start 6 -bos_start_vs_rush -bos_model_type lstm -bos_num_layers 1 -bos_hid_dim 2048 -bos_bo_input
I02928/XXXXX [main.cpp:38] Connected to TorchCraft server at 127.0.0.1:11111
I02928/XXXXX [state.cpp:435] Enemy: SAIDA playing Terran
I02928/XXXXX [state.cpp:439] Map: iCCup Fighting spirit1.3.scx
I02928/XXXXX [state.cpp:440] Game is being played at LF6
F1010 18:06:17.718891 2928 main.cpp:92] Exception: Expecting fresh game in Player::init(), but current frame is 2
F02928/XXXXX [main.cpp:92] Exception: Expecting fresh game in Player::init(), but current frame is 2
*** Check failure stack trace: ***
@ 00007FF7D4EA7125 private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt @ 00007FF7D4EA663C private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt
@ 00007FF7D4ED38FD private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt @ 00007FFC9B9F1030 (unknown) @ 00007FFC9B9F3298 _is_exception_typeof @ 00007FFCB1C241C3 RtlCaptureContext @ 00007FF7D4D436DE private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt
@ 00007FF7D4EC7C85 private: static struct cereal::detail::bind_to_archives<class torch::optim::SGD,struct cereal::detail::`anonymous namespace'::polymorphic_binding_tag> & __ptr64 __cdecl cereal::detail::StaticObject<struct cereal::detail::bind_to_archives<class torch::opt
@ 00007FFCB01F1FE4 BaseThreadInitThunk
@ 00007FFCB1BEEF91 RtlUserThreadStart

CherryPi.exe should be started before the game begins. If you're running StarCraft normally, you should have CherryPi.exe already running when you click the Start button and see the countdown in the game setup lobby. Was that the case when this error occurred?

commented

yes

I've asked around a bit and nobody knows what would cause this to come up. The symptom is that a couple of game frames have passed before main.cpp:92 is called, but it's unclear why that would happen.