gmancino-ball commited on
Commit
4e274a6
·
verified ·
1 Parent(s): ebe5c06

Update script.py

Browse files
Files changed (1) hide show
  1. script.py +7 -3
script.py CHANGED
@@ -22,14 +22,18 @@ def preprocess(file_like):
22
  container = av.open(file_like)
23
  frames = []
24
  every = 10
 
 
25
  for i, frame in enumerate(container.decode(video=0)):
26
  if i % every == 0:
27
  frame_array = frame.to_ndarray(format="rgb24")
28
  frame_tensor = torch.from_numpy(frame_array).permute(2, 0, 1).float()
29
  frames.append(frame_tensor)
30
-
31
- video_tensor = torch.stack(frames)
32
- return video_tensor
 
 
33
 
34
 
35
  class Model(torch.nn.Module):
 
22
  container = av.open(file_like)
23
  frames = []
24
  every = 10
25
+ MAX_MEMORY = 100 * 1024 * 1024 ## 100 MB maximum - some videos are large
26
+ current_memory = 0
27
  for i, frame in enumerate(container.decode(video=0)):
28
  if i % every == 0:
29
  frame_array = frame.to_ndarray(format="rgb24")
30
  frame_tensor = torch.from_numpy(frame_array).permute(2, 0, 1).float()
31
  frames.append(frame_tensor)
32
+ ## Memory check
33
+ frame_bytes = frame_tensor.numel() * 4 # float32 → 4 bytes
34
+ current_memory += frame_bytes
35
+ if current_memory >= MAX_MEMORY:
36
+ break
37
 
38
 
39
  class Model(torch.nn.Module):