¡Bienvenidos a la creación de videojuegos! › Foros › Curso de Inteligencia Artificial con ML-Agents de UNITY. Introducción. › Error a la hora de instalarme lo necesario para poder programar IA en Unity.
- Este debate tiene 27 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 2 años, 8 meses por Uadla Games.
-
AutorEntradas
-
marzo 3, 2022 a las 11:19 am #2200Uadla GamesSuperadministrador
ZaneDev,
El principal problema es que no te encuentra el fichero .yaml. ¿Has probado de indicarlo sin el ./?
Si estas ejecutando el comando desde el mismo directorio donde esta el fichero trainer_config.yaml no tienes que indicarle el path.
Como el problema es del path, quizas si que sea problema del espacio en blanco que hay en la ruta.
Parece que hay gente que tiene problemas con espacios y caracteres especiales al usar anaconda:
marzo 3, 2022 a las 3:56 pm #2201ZaneDevParticipante¡Hola! Ya solucioné el error, el fallo era que se me olvidó poner el archivo “.yaml”, provocando el error. La cosa es que ahora en Unity, al darle al botón de “Play”, me sale lo siguiente en la consola:
Couldn’t connect to trainer on port 5004 using API version 1.0.0. Will perform inference instead.
marzo 3, 2022 a las 5:05 pm #2202ZaneDevParticipante¡Ya lo solucioné! El fallo era que se me olvidó poner el archivo “training_config.yaml” jajaja, la cosa es que al iniciar el juego en Unity me sale este mensaje en la consola:
Couldn’t connect to trainer on port 5004 using API version 1.0.0. Will perform inference instead.
marzo 3, 2022 a las 5:07 pm #2203ZaneDevParticipante¡Ya lo solucioné! El fallo era que se me olvidó poner el archivo “training_config.yaml” jajaja, la cosa es que al iniciar el juego en Unity me sale este mensaje en la consola:
Couldn’t connect to trainer on port 5004 using API version 1.0.0. Will perform inference instead.
¿Cómo arreglo esto?
marzo 3, 2022 a las 8:01 pm #2204Uadla GamesSuperadministradorui.
Pues pueden ser muchas cosas, pero apuesto a que hay algo mal configurado. Por lo que me has dicho del fichero .yaml, creo que no lo has configurado. Estás seguro que no te has saltado algún paso del video:
Por ejemplo, en el fichero .yaml justo debajo de behaviours debes indicar el mismo nombre que has puesto en Behaviour Name en Behaviour parameters, en la configuración del agente en Unity.
También es posible que no hayas puesto el componente decision requester?
marzo 5, 2022 a las 8:22 am #2207ZaneDevParticipanteMás o menos ya lo arreglé, peeero en Unity no se me mueve la bola y me sale esto en la consola:
Couldn’t connect to trainer on port 5004 using API version 1.0.0. Will perform inference instead.
¿Qué debería hacer?
marzo 5, 2022 a las 8:24 am #2208ZaneDevParticipanteAhii, perdona jajajaja, me acabo de dar cuenta que hay dos pestañas en el hilo, estaba buscando mis mensajes en la primera parte y no los encontraba, así que me puse a intentar que salga, lo siento bro jajaja
marzo 5, 2022 a las 8:27 am #2210ZaneDevParticipante¡Sí! Claro que tengo configurado el .yaml:
behaviors:
IA:
trainer_type: ppo
hyperparameters:
batch_size: 64
buffer_size: 12000
learning_rate: 0.0003
beta: 0.001
epsilon: 0.2
lambd: 0.99
num_epoch: 3
learning_rate_schedule: linear
network_settings:
normalize: true
hidden_units: 128
num_layers: 2
vis_encode_type: simple
reward_signals:
extrinsic:
gamma: 0.99
strength: 1.0
keep_checkpoints: 5
max_steps: 10000000
time_horizon: 1000
summary_freq: 12000
threaded: true¡Y también tengo el Decision Requester!
marzo 6, 2022 a las 5:27 pm #2211Uadla GamesSuperadministradorvale….
y en el behavior parameters, donde Behaviour Name tienes puesto IA? qué es lo que tendrias que tener según el fichero trainer_yaml que has puesto.
cuando arrancas con el comando mlagents-learn, supongo que ves correctamente el logo de unity, con la frase final de listening on port 5004. y lo dejas corriendo en un terminal, es decir que no cierras la ventana desde donde lo has ejecuta no?
Es posible que tú máquina no sea muy rápida? Si fuera así quizas le salta a UNITY el timeout antes de conectar.
Perdona por tantas preguntas pero es que me cuesta saber que puede estar pasando 🙂
- Esta respuesta fue modificada hace 2 años, 8 meses por Uadla Games.
marzo 7, 2022 a las 12:01 pm #2219ZaneDevParticipanteMe acabo de fijar y sí, el behaviour name coinciden.
Me sale esto a la hora de conectarlo:
Se me carga rápido.
marzo 7, 2022 a las 2:10 pm #2220Uadla GamesSuperadministradorNo se si puede ser esto, pero por el mensaje que te sale al final parece que estás usando siempre el mismo run-id, en la imagen veo que le llamas Curso.
Te indica que ya existe datos de este id, por lo que tendrias que llamarlo Curso01, o de otro nombre, o en caso de que quieras reescribirlo usar –force al final del comando, que lo que hara sera eliminar los datos previos de Curso.
Si haces un dir del directorio deberías encontrar el subdirectorio Curso, que contiene información generada en el comando anterior.
Ojala sea esto!!!!!
marzo 7, 2022 a las 4:56 pm #2221ZaneDevParticipanteAcabo de hacer eso mismo pero me sigue dando el mismo problema.
marzo 7, 2022 a las 5:49 pm #2222Uadla GamesSuperadministradorPero ahora aparece el mensaje correcto:
“Listening on port 5004”
Soy incapaz de saber porque no se están comunicando, he vuelto a abrir uno de mis proyecto a ver si me funcionaba y a mi me va todo correcto:
Esta es la pantalla de ejecutarlo. Tenemos versiones diferentes por que yo monté el entorno ya hace bastante.
Aquí el contenido del fichero .yaml
cuidado, no lo tomes como ejemnplo, que es un fichero en el que estaba modificando los parametros, pero vaya, que funcionar funciona.
solo se me ocurren dos cosas:
a) el espacio en el directorio….. Lo de “Kriko YT”…. prueba en lanzarlo desde un directorio sin espacio, que son unos minutos, a ver que pasa.
Sino podrias probar en window->package manager, y ver qué versión de ml-agents tienes, yo por ahora estoy con la 1.0.8, cuando empiece un proyecto nuevo seguramente actualizare todo el entorno, pero prueba a ver si actualizando, o bajando a la 1.0.8 se conecta.
-
AutorEntradas
- Debes estar registrado para responder a este debate.