notas de estudo gym_unity

Tenho estudado gym_unity há algum tempo recentemente e deixei algumas informações aqui.

Exemplo

  1. Exemplo de treinamento Gym_unity RollerBall: https://blog.csdn.net/alibutter/article/details/120908687
  2. Exemplo de treinamento gyn_unity 3DBall: https://zhuanlan.zhihu.com/p/554927641?utm_id=0
    Código fonte: https://github.com/Delta-King/UnityPPO
    Baixe a versão estável da versão 19 quando implementada: https ://github.com/Unity-Technologies/ml-agents/releases/tag/release_19

informação oficial

  1. Site oficial dos agentes ml: https://github.com/Unity-Technologies/ml-agents/tree/develop
  2. Documentação chinesa de ml-agents: https://github.com/Hustacds/ml-agents/tree/master/docs/localized/zh-CN
  3. Documentação da interface externa da academia mlagents_env: https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-Gym-API.md
  4. Documentação da interface multiagente mlagents_env: https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-PettingZoo-API.md
  5. Documentação da interface python mlagents_env: https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-LLAPI.md
  6. A explicação oficial de gym_unity: https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-Gym-API-Documentation.md
  7. Interface multiagente: https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-PettingZoo-API.md
  8. Descrição do arquivo de configuração (arquivo yaml) durante o treinamento de agentes de ML: https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Training-Configuration-File.md

Erro de processo:

Relatório de erro: \ml-agents-develop\com.unity.ml-agents\Runtime\Sensors\RayPerceptionSensor.cs(459,39): erro CS0103: O nome 'QueryParameters' não existe no contexto atual Motivo: ML-
agentes A versão é muito alta e há requisitos para a versão do Unity. Basta mudar para a versão 19.
Referência: https://github.com/Unity-Technologies/ml-agents/issues/5958

Nota:TypeError: Os descritores não podem ser criados diretamente.
Se esta chamada veio de um arquivo _pb2.py, seu código gerado está desatualizado e deve ser regenerado com protoc >= 3.19.0.
Se você não conseguir regenerar imediatamente seus protos, algumas outras soluções alternativas possíveis são:

  1. Faça downgrade do pacote protobuf para 3.20.x ou inferior.
  2. Defina PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (mas isso usará puro

Análise Python e será muito mais lento.Solução
(downgrade da versão 4.0 do protobuf): pip install protobuf==3.20.*

Erro: TypeError: não é possível converter o tensor do tipo de dispositivo cuda:0 em numpy. Use Tensor.cpu() para copiar o tensor para
Solução: Referência: https://blog.csdn.net/weixin_45887062/article/details/126417024

Erro: ImportError: não é possível importar o nome 'cygrpc' de 'grpc._cython' (D:\A\envs\pythonProject\lib\site-packa Solução: pip install grpcio==1.27.2 Referência
:
https://github.com /GoogleCloudPlatform/python-docs-samples/issues/1540

modelo gym_unity:

from mlagents_envs.environment import UnityEnvironment
from gym_unity.envs import UnityToGymWrapper

    env_directory = 'D:\\Desktop\\3DBall\\UnityEnvironment.exe'
    unity_env = UnityEnvironment(env_directory, base_port=5005, no_graphics=False)
env = UnityToGymWrapper(unity_env, uint8_visual=True)
执行env.step(action)和env.reset()就可以

UnityGymWrapper:

UnityGymWrapper é a interface de encapsulamento entre Unity e academia, encapsulando o ambiente Unity para uso como academia. UnityGymWrapper é adequado apenas para agentes únicos, UnityGymWrapper5 pode ser usado para multiagentes Multiagente
usando UnityGymWrapper5 Exemplo:
Código fonte: https://github.com/leehe228/LogisticsEnv
Artigo: Controle de UAV baseado em aprendizado de reforço multiagente para mobilidade aérea urbana logística
UnityGymWrapper Use o modelo:
Insira a descrição da imagem aqui
Referência: https://lab.uwa4d.com/lab/624a2749a8103dabd0e58f10
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

dúvida:

Onde escrever a etapa e reset() do ambiente de unidade personalizado? ? ?
Como salvar o modelo treinado por gym_unity? ? ? ?
Os arquivos .pt geralmente se referem aos arquivos de modelo PyTorch, que são um formato usado na estrutura PyTorch para salvar e carregar pesos e estruturas de modelos.
Referência: https://blog.csdn.net/weixin_44943389/article/details/131940271Insira a descrição da imagem aqui

おすすめ

転載: blog.csdn.net/gls_nuaa/article/details/133208407