matthewkram commited on
Commit
4d24a58
·
verified ·
1 Parent(s): 1e97503

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -13
app.py CHANGED
@@ -19,8 +19,9 @@ class WanAnimateApp:
19
  model_name,
20
  torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
21
  variant="fp16",
22
- device_map="cpu"
23
  )
 
24
 
25
  def predict(
26
  self,
@@ -33,18 +34,8 @@ class WanAnimateApp:
33
  return None, "Upload both image and video."
34
 
35
  try:
36
- # Fix Gradio temp file: Always save to real temp and open
37
- with tempfile.NamedTemporaryFile(suffix='.png', delete=False) as tmp:
38
- if isinstance(ref_img, Image.Image):
39
- ref_img.save(tmp.name)
40
- else:
41
- # If bytes or str, handle
42
- if isinstance(ref_img, bytes):
43
- ref_img = Image.open(io.BytesIO(ref_img))
44
- ref_img.save(tmp.name)
45
- ref_image = Image.open(tmp.name).convert("RGB").resize((576, 320))
46
- os.unlink(tmp.name) # Clean up
47
-
48
  cap = cv2.VideoCapture(video)
49
  frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
50
  cap.release()
 
19
  model_name,
20
  torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
21
  variant="fp16",
22
+ device_map="cpu" # With accelerate, this works
23
  )
24
+ self.pipe.enable_model_cpu_offload() # Now safe with accelerate
25
 
26
  def predict(
27
  self,
 
34
  return None, "Upload both image and video."
35
 
36
  try:
37
+ # Local processing
38
+ ref_image = Image.open(ref_img).convert("RGB").resize((576, 320))
 
 
 
 
 
 
 
 
 
 
39
  cap = cv2.VideoCapture(video)
40
  frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
41
  cap.release()