
Objetivo de esta entrada
Publicamos el código fuente que usamos para la IA de Tetris. El código solo se carga cuando abres un archivo.
Modelos utilizados
- DQN de stable-baselines3: los modelos de bajo nivel de 7 acciones (300,000 y 370,000 pasos) y el modelo de macroacciones de 40 acciones (300,000 pasos). Los archivos de los modelos no se incluyen.
- Qwen2.5-3B-Instruct GGUF q4_k_m (llama-cpp-python): juez del tablero en texto y elección del número de candidato
- Qwen2.5-VL-3B-Instruct (transformers): juez del tablero en imagen y elección directa del sitio
Estructura de carpetas
- tetris: motor en C++ (tetris_engine), API en C (tetris_c_api), pantalla de Qt6 y servidor TCP (main_window, tetris_widget), CMake
- local_tetris_env.py: entorno gymnasium que envuelve el motor con ctypes
- simple_tetris_env.py: entorno en Python puro que se usa cuando el motor no está compilado. Los formatos de observación y de acción son distintos, así que los modelos no son intercambiables.
- macro_planning_env.py: entorno de 40 acciones que elige una vez por pieza
- train_tetris_rl.py: entrenamiento DQN sin pantalla
- train_qt_live.py: muestra el modelo actual en la pantalla de Qt mientras entrena. También tiene un modo que entrena con partidas jugadas por una persona.
- qt_rl_client.py: conecta un modelo entrenado a la pantalla de Qt
- llm_teacher.py, vlm_teacher.py, llm_reward_wrapper.py: jueces de recompensa de LLM y VLM
- vlm_macro_client.py: cliente en el que el VLM elige directamente el sitio
- llm_macro_client.py: cálculo de candidatos y elección del número por el LLM
- moe_macro_policy.py: selección de candidatos que combina cuatro reglas
- config/rl_config.py: configuración del entrenamiento
Se excluyen los resultados de compilación, los entornos virtuales, los pesos de los modelos y los archivos de modelos entrenados.
Código fuente completo
25 archivos · 4969 líneas — abre una carpeta y haz clic en un archivo para cargar su código.
Raíz del proyecto
llm_macro_client.py
Cargando el código…
llm_reward_wrapper.py
Cargando el código…
llm_teacher.py
Cargando el código…
local_tetris_env.py
Cargando el código…
macro_planning_env.py
Cargando el código…
moe_macro_policy.py
Cargando el código…
project.md
Cargando el código…
qt_rl_client.py
Cargando el código…
requirements.txt
Cargando el código…
simple_tetris_env.py
Cargando el código…
train_qt_live.py
Cargando el código…
train_tetris_rl.py
Cargando el código…
vlm_macro_client.py
Cargando el código…
vlm_teacher.py
Cargando el código…
config/
config/__init__.py
Cargando el código…
config/rl_config.py
Cargando el código…
tetris/
tetris/CMakeLists.txt
Cargando el código…
tetris/src/main_window.cpp
Cargando el código…
tetris/src/main_window.h
Cargando el código…
tetris/src/main.cpp
Cargando el código…
tetris/src/tetris_c_api.cpp
Cargando el código…
tetris/src/tetris_engine.cpp
Cargando el código…
tetris/src/tetris_engine.h
Cargando el código…
tetris/src/tetris_widget.cpp
Cargando el código…
tetris/src/tetris_widget.h
Cargando el código…
COMMENTS · CHAPTER 06
El código fuente completo y los modelos utilizados 0 comentarios
Todavía no hay comentarios. Deja una pregunta o algo que quieras añadir.
Para publicar un comentario, empieza con Google y registra un apodo y un correo.
Empezar con Google