-
Notifications
You must be signed in to change notification settings - Fork 102
[Feature]: Add Docker support for reproducible setup and easier onboarding. #531
Description
Summary
This proposal suggests adding official Docker support to provide a consistent, reproducible environment for running PerceptionMetrics (CLI and GUI), reducing setup complexity and platform-specific issues.
❗ Problem
The project relies on several heavy and system-dependent libraries:
- PyTorch
- OpenCV
- Open3D
- pycocotools
- ultralytics
Setting up these dependencies manually can lead to:
- Platform-specific errors (e.g., DLL issues on Windows).
- Missing system libraries in Linux environments.
- Inconsistent behavior across machines.
- Increased onboarding time for new contributors.
For example, when attempting to run the project in a minimal Linux/Windows environment, the application failed due to missing OpenGL libraries required by Open3D:
OSError: libGL.so.1: cannot open shared object file.
OSError: [WinError 1114] A dynamic link library (DLL) initialization routine failed.
This indicates that system-level dependencies are not explicitly managed.
Proposed Solution
Introduce containerized execution using Docker to standardize the runtime environment.
Scope of changes
- Add a
Dockerfilefor CPU-based execution. - (Optional) Add
Dockerfile.gpufor CUDA-enabled systems. - Add
.dockerignoreto optimize build context. - Update README with Docker usage instructions.
Impact
This enhancement improves developer experience, usability, and reliability of the project without affecting existing workflows.