edbeeching / godot_rl_agents

An Open Source package that allows video game creators, AI researchers and hobbyists the opportunity to learn complex behaviors for their Non Player Characters or agents
MIT License
902 stars 63 forks source link

Adds downfall env to tests and hub #176

Closed edbeeching closed 6 months ago

Ivan-267 commented 6 months ago

Some of my examples had the default scene set to onnx inference for easier running, but it doesn't allow tests to work. I've set training scenes to default in https://github.com/edbeeching/godot_rl_agents_examples/pull/28.

It will require updating the datasets on huggingface, e.g. https://huggingface.co/datasets/edbeeching/godot_rl_3DCarParking

edbeeching commented 6 months ago

Thanks @Ivan-267 , the tests seem to be working now. Ok to merge?

Ivan-267 commented 6 months ago

I've downloaded the envs from the hub manually ~and was able to reproduce the issue with BallChase.~ I will try to find out the cause locally.

Seems to work fine on the second and third try. Will have to test more.

Another thing to check after finding out the cause is why the linux tests are running fine.

Ivan-267 commented 6 months ago

It works from the editor, but when running the prebuilt exe of e.g. BallChase, I get an error that the data folder including net assemblies is missing. It does work after that on my PC, but might cause the issue on the test server.

Edit: I tried building and got the error. It's related to the csproj file.

E.g. in BallChase:

<Project Sdk="Godot.NET.Sdk/4.2.1">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <EnableDynamicLoading>true</EnableDynamicLoading>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.ML.OnnxRuntime" Version="1.14.1" />
    <PackageReference Include="Microsoft.ML.OnnxRuntime.DirectML" Version="1.14.1" />
    <PackageReference Include="Microsoft.ML.OnnxRuntime.Gpu" Version="1.14.1" />
    <PackageReference Include="System.Numerics.Tensors" Version="0.1.0" />
  </ItemGroup>
</Project>

Having three onnxruntimes causes conflicts. It should only be the first one. We might have to update the envs with new plugins or at least .csproj files.

I've ~started~ finished the update process in: https://github.com/edbeeching/godot_rl_agents_examples/pull/29

I'll update all envs that timed out in tests to the latest plugin and .csproj/.sln files.

edbeeching commented 6 months ago

@Ivan-267 that fixed everything, thanks. Merging.