vivek12coder commited on
Commit
6020954
·
1 Parent(s): 7452783

Fix grad-cam OpenGL deps: add libgl1/libglu1, remove dynamic pip install

Browse files
Files changed (3) hide show
  1. Dockerfile +3 -1
  2. requirements.txt +2 -2
  3. 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. Installing...")
24
- import subprocess
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"""