henry000 commited on
Commit
2ee7407
·
1 Parent(s): a7a9479

✅ [Pass] test with lower system requirements

Browse files
yolo/tools/data_loader.py CHANGED
@@ -3,7 +3,6 @@ from queue import Empty, Queue
3
  from threading import Event, Thread
4
  from typing import Generator, List, Tuple, Union
5
 
6
- import cv2
7
  import numpy as np
8
  import torch
9
  from loguru import logger
@@ -222,6 +221,8 @@ class StreamDataLoader:
222
  self.stop_event = Event()
223
 
224
  if self.is_stream:
 
 
225
  self.cap = cv2.VideoCapture(self.source)
226
  else:
227
  self.queue = Queue()
@@ -251,6 +252,8 @@ class StreamDataLoader:
251
  self.process_frame(image)
252
 
253
  def load_video_file(self, video_path):
 
 
254
  cap = cv2.VideoCapture(video_path)
255
  while self.running:
256
  ret, frame = cap.read()
@@ -261,6 +264,9 @@ class StreamDataLoader:
261
 
262
  def process_frame(self, frame):
263
  if isinstance(frame, np.ndarray):
 
 
 
264
  frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
265
  frame = Image.fromarray(frame)
266
  origin_frame = frame
 
3
  from threading import Event, Thread
4
  from typing import Generator, List, Tuple, Union
5
 
 
6
  import numpy as np
7
  import torch
8
  from loguru import logger
 
221
  self.stop_event = Event()
222
 
223
  if self.is_stream:
224
+ import cv2
225
+
226
  self.cap = cv2.VideoCapture(self.source)
227
  else:
228
  self.queue = Queue()
 
252
  self.process_frame(image)
253
 
254
  def load_video_file(self, video_path):
255
+ import cv2
256
+
257
  cap = cv2.VideoCapture(video_path)
258
  while self.running:
259
  ret, frame = cap.read()
 
264
 
265
  def process_frame(self, frame):
266
  if isinstance(frame, np.ndarray):
267
+ # TODO: we don't need cv2
268
+ import cv2
269
+
270
  frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
271
  frame = Image.fromarray(frame)
272
  origin_frame = frame
yolo/utils/model_utils.py CHANGED
@@ -92,8 +92,9 @@ def get_device(device_spec: Union[str, int, List[int]]) -> torch.device:
92
  if isinstance(device_spec, (list, ListConfig)):
93
  ddp_flag = True
94
  device_spec = initialize_distributed()
95
- device = torch.device(device_spec)
96
- return device, ddp_flag
 
97
 
98
 
99
  class PostProccess:
 
92
  if isinstance(device_spec, (list, ListConfig)):
93
  ddp_flag = True
94
  device_spec = initialize_distributed()
95
+ if torch.cuda.is_available() and "cuda" in str(device_spec):
96
+ return torch.device(device_spec), ddp_flag
97
+ return torch.device("cpu"), False
98
 
99
 
100
  class PostProccess: