take turns using the GPU

This commit is contained in:
Mariano Gabriel
2025-10-20 01:12:13 -03:00
parent cd7b0aed07
commit b9c3cbfbab

View File

@@ -158,6 +158,16 @@ class ProcessingWorkflow:
logger.error("Whisper is not installed. Install it with: pip install openai-whisper") logger.error("Whisper is not installed. Install it with: pip install openai-whisper")
raise RuntimeError("Whisper not installed") raise RuntimeError("Whisper not installed")
# Unload Ollama model to free GPU memory for Whisper (if using vision)
if self.config.use_vision:
logger.info("Freeing GPU memory for Whisper...")
try:
subprocess.run(["ollama", "stop", self.config.vision_model],
capture_output=True, check=False)
logger.info("✓ Ollama model unloaded")
except Exception as e:
logger.warning(f"Could not unload Ollama model: {e}")
logger.info(f"Running Whisper transcription (model: {self.config.whisper_model})...") logger.info(f"Running Whisper transcription (model: {self.config.whisper_model})...")
logger.info("This may take a few minutes depending on video length...") logger.info("This may take a few minutes depending on video length...")
@@ -224,6 +234,7 @@ class ProcessingWorkflow:
def _run_vision_analysis(self, frames_info): def _run_vision_analysis(self, frames_info):
"""Run vision analysis on frames.""" """Run vision analysis on frames."""
logger.info("Step 2: Running vision analysis on extracted frames...") logger.info("Step 2: Running vision analysis on extracted frames...")
logger.info(f"Loading vision model {self.config.vision_model} to GPU...")
try: try:
vision = VisionProcessor(model=self.config.vision_model) vision = VisionProcessor(model=self.config.vision_model)