David Ko commited on
Commit
d10dea2
·
1 Parent(s): d146212

Fix: Model loading errors and cache permission issues

Browse files
Files changed (2) hide show
  1. Dockerfile +4 -0
  2. api.py +12 -1
Dockerfile CHANGED
@@ -8,7 +8,11 @@ RUN apt-get update && apt-get install -y \
8
  git \
9
  libgl1-mesa-glx \
10
  libglib2.0-0 \
 
11
  && rm -rf /var/lib/apt/lists/*
 
 
 
12
 
13
  # Copy requirements first for better caching
14
  COPY requirements.txt .
 
8
  git \
9
  libgl1-mesa-glx \
10
  libglib2.0-0 \
11
+ wget \
12
  && rm -rf /var/lib/apt/lists/*
13
+
14
+ # Create cache directory with proper permissions
15
+ RUN mkdir -p /.cache && chmod 777 /.cache
16
 
17
  # Copy requirements first for better caching
18
  COPY requirements.txt .
api.py CHANGED
@@ -20,8 +20,19 @@ print("Loading models... This may take a moment.")
20
  # YOLOv8 model
21
  yolo_model = None
22
  try:
 
23
  from ultralytics import YOLO
24
- yolo_model = YOLO("yolov8n.pt") # Using the nano model for faster inference
 
 
 
 
 
 
 
 
 
 
25
  print("YOLOv8 model loaded successfully")
26
  except Exception as e:
27
  print("Error loading YOLOv8 model:", e)
 
20
  # YOLOv8 model
21
  yolo_model = None
22
  try:
23
+ import os
24
  from ultralytics import YOLO
25
+
26
+ # 모델 파일 경로
27
+ model_path = "yolov8n.pt"
28
+
29
+ # 모델 파일이 없으면 직접 다운로드
30
+ if not os.path.exists(model_path):
31
+ print("Downloading YOLOv8 model...")
32
+ os.system("wget -q https://ultralytics.com/assets/yolov8n.pt -O yolov8n.pt")
33
+ print("YOLOv8 model downloaded successfully")
34
+
35
+ yolo_model = YOLO(model_path) # Using the nano model for faster inference
36
  print("YOLOv8 model loaded successfully")
37
  except Exception as e:
38
  print("Error loading YOLOv8 model:", e)