Spaces:
Sleeping
Sleeping
Commit ·
6020954
1
Parent(s): 7452783
Fix grad-cam OpenGL deps: add libgl1/libglu1, remove dynamic pip install
Browse files- Dockerfile +3 -1
- requirements.txt +2 -2
- src/explain.py +3 -13
Dockerfile
CHANGED
|
@@ -12,10 +12,12 @@ ENV PYTHONDONTWRITEBYTECODE=1
|
|
| 12 |
ENV PYTHONUNBUFFERED=1
|
| 13 |
ENV MPLCONFIGDIR=/app/matplotlib_cache
|
| 14 |
|
| 15 |
-
# Install minimal system dependencies for headless OpenCV
|
| 16 |
RUN apt-get update && apt-get install -y \
|
| 17 |
libglib2.0-0 \
|
| 18 |
libgomp1 \
|
|
|
|
|
|
|
| 19 |
curl \
|
| 20 |
&& rm -rf /var/lib/apt/lists/*
|
| 21 |
|
|
|
|
| 12 |
ENV PYTHONUNBUFFERED=1
|
| 13 |
ENV MPLCONFIGDIR=/app/matplotlib_cache
|
| 14 |
|
| 15 |
+
# Install minimal system dependencies for headless OpenCV (required by grad-cam)
|
| 16 |
RUN apt-get update && apt-get install -y \
|
| 17 |
libglib2.0-0 \
|
| 18 |
libgomp1 \
|
| 19 |
+
libgl1 \
|
| 20 |
+
libglu1 \
|
| 21 |
curl \
|
| 22 |
&& rm -rf /var/lib/apt/lists/*
|
| 23 |
|
requirements.txt
CHANGED
|
@@ -16,10 +16,10 @@ grad-cam
|
|
| 16 |
|
| 17 |
# Data visualization
|
| 18 |
matplotlib>=3.7.0
|
| 19 |
-
|
| 20 |
# Utilities
|
| 21 |
requests>=2.31.0
|
| 22 |
tqdm>=4.65.0
|
| 23 |
-
|
| 24 |
# JSON handling and validation
|
| 25 |
pydantic>=2.0.0
|
|
|
|
| 16 |
|
| 17 |
# Data visualization
|
| 18 |
matplotlib>=3.7.0
|
| 19 |
+
opencv-python
|
| 20 |
# Utilities
|
| 21 |
requests>=2.31.0
|
| 22 |
tqdm>=4.65.0
|
| 23 |
+
gradio
|
| 24 |
# JSON handling and validation
|
| 25 |
pydantic>=2.0.0
|
src/explain.py
CHANGED
|
@@ -19,19 +19,9 @@ try:
|
|
| 19 |
from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
|
| 20 |
from pytorch_grad_cam.utils.image import show_cam_on_image, preprocess_image
|
| 21 |
PYTORCH_GRAD_CAM_AVAILABLE = True
|
| 22 |
-
except ImportError:
|
| 23 |
-
print("Warning: pytorch-grad-cam not available
|
| 24 |
-
|
| 25 |
-
import sys
|
| 26 |
-
subprocess.check_call([sys.executable, "-m", "pip", "install", "grad-cam"])
|
| 27 |
-
try:
|
| 28 |
-
from pytorch_grad_cam import GradCAM
|
| 29 |
-
from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
|
| 30 |
-
from pytorch_grad_cam.utils.image import show_cam_on_image, preprocess_image
|
| 31 |
-
PYTORCH_GRAD_CAM_AVAILABLE = True
|
| 32 |
-
except ImportError:
|
| 33 |
-
PYTORCH_GRAD_CAM_AVAILABLE = False
|
| 34 |
-
print("Warning: Could not import pytorch-grad-cam after installation")
|
| 35 |
|
| 36 |
class CropDiseaseExplainer:
|
| 37 |
"""High-level interface for crop disease explanation using pytorch-grad-cam"""
|
|
|
|
| 19 |
from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
|
| 20 |
from pytorch_grad_cam.utils.image import show_cam_on_image, preprocess_image
|
| 21 |
PYTORCH_GRAD_CAM_AVAILABLE = True
|
| 22 |
+
except ImportError as e:
|
| 23 |
+
print(f"Warning: pytorch-grad-cam not available: {e}")
|
| 24 |
+
PYTORCH_GRAD_CAM_AVAILABLE = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
class CropDiseaseExplainer:
|
| 27 |
"""High-level interface for crop disease explanation using pytorch-grad-cam"""
|