Skip to content

Comments

feat: Implementación de entorno de desarrollo con Dev Containers y Python 3.13#22

Open
aek676 wants to merge 15 commits intoSistemas-Multimedia:mainfrom
aek676:main
Open

feat: Implementación de entorno de desarrollo con Dev Containers y Python 3.13#22
aek676 wants to merge 15 commits intoSistemas-Multimedia:mainfrom
aek676:main

Conversation

@aek676
Copy link

@aek676 aek676 commented Jan 16, 2026

Resumen

Se ha configurado un entorno de desarrollo estandarizado utilizando Dev Containers. Esto permite a cualquier colaborador levantar el proyecto con todas las dependencias del sistema y de Python preinstaladas, evitando el clásico "en mi máquina funciona".

El entorno se basa en una imagen de Python 3.13 (Bookworm) e incluye configuración automática para VS Code.

Cambios Clave

  • Dev Container: Añadida la carpeta .devcontainer/ con la configuración devcontainer.json.
    • Instala automáticamente dependencias del sistema necesarias para procesamiento de imagen/video (libgl1, ffmpeg, etc.).
    • Configura extensiones recomendadas (Python, Jupyter, Copilot).
  • Documentación: Se ha creado un README.md dentro de .devcontainer/ explicando cómo usar este entorno.
  • Dependencias: Se han añadido ipykernel y nbformat en requirements.txt para asegurar la ejecución correcta de Notebooks dentro del contenedor.
  • Git: Añadido .gitignore para excluir __pycache__.

Por qué es necesario

El proyecto requiere librerías del sistema (como ffmpeg y libgl) que pueden ser tediosas de instalar manualmente en diferentes sistemas operativos (Windows/Mac/Linux). Con este contenedor, la instalación es automática y aislada.

Cómo probarlo

  1. Tener Docker y la extensión "Dev Containers" instalada en VS Code.
  2. Abrir el proyecto.
  3. Hacer clic en "Reopen in Container" cuando aparezca la notificación (o desde la paleta de comandos).
  4. Verificar que el entorno carga y ejecutar pip3 list para confirmar las dependencias.

aek676 and others added 11 commits January 15, 2026 14:15
Add .devcontainer/devcontainer.json to provide a Python 3 dev
container (python:3.13.7-bookworm) with common-utils and python
features; installs system libs and runs pip to install requirements.
Add src/__pycache__/ to .gitignore. Add ipykernel and nbformat to
requirements.txt for Jupyter support.
- Introduced LBT class for spatial redundancy exploitation using 2D Discrete Cosine Transform.
- Implemented training, encoding, and decoding methods for LBT.
- Added command-line arguments for block size, color transform, and perceptual quantization.
- Updated requirements.txt to include 'torch' for PyTorch support.
…l problema. Con bloques grandes, la varianza puede ser muy pequeña, causando que 1/var explote y domine completamente el entrenamiento, haciendo que la transformación colapse a valores uniformes (gris).

Learning rate adaptativo: lr = min(1e-2, 1.0 / N) - Para bloques de 32 (N=1024) esto da lr≈0.001, evitando inestabilidad.

Gradient clipping - Previene explosión de gradientes con matrices grandes.

Ahora la transformación solo optimiza la reconstrucción, manteniendo las matrices cercanas a la identidad (que es la inicialización) y convergiendo correctamente.
…compression

- Introduced authorship section in the notebook.
- Added a theoretical explanation of the Learning Block Transform (LBT) including model architecture and encoding flow.
- Explained block size considerations and their impact on image processing.
- Detailed the training process of the LBT model, including loss functions and optimization strategies.
- Included information on quantization techniques and perceptual quantization.
- Added implementation details for the LBT model in a new Python file.
@dsa069
Copy link

dsa069 commented Feb 2, 2026

Buenas tardes. En nombre del grupo compuesto por:

  • Daniel Salas Alonso

  • José Carlos Ruíz Sánchez

  • Millán Millán Posadas

  • Anass El Jabiry Kaddir

Hacemos entrega de nuestro algoritmo LBT propuesto.

dsa069 and others added 4 commits February 4, 2026 20:35
…LBT model

- Updated default number of training epochs from 100 to 1000 in argument parser.
- Changed weight initialization in LBTModel from identity to normal distribution with std=0.02.
- Adjusted default lambda_gain parameter in LearnedBlockTransform from 0.0 to 1e-6.
- Updated related logging messages to reflect new default values.
Increase default training epochs and adjust weight initialization in …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants