Spaces:
Runtime error
Runtime error
add lerp
Browse files
app.py
CHANGED
|
@@ -97,7 +97,7 @@ norm = transforms.Normalize(means,stds)
|
|
| 97 |
norms = torch.tensor(means)[None,:,None,None].cuda()
|
| 98 |
stds = torch.tensor(stds)[None,:,None,None].cuda()
|
| 99 |
|
| 100 |
-
def inference_step(vid, start_sec, duration, out_fps):
|
| 101 |
clip = vid.get_clip(start_sec, start_sec + duration)
|
| 102 |
video_arr = torch.from_numpy(clip['video']).permute(3, 0, 1, 2)
|
| 103 |
audio_arr = np.expand_dims(clip['audio'], 0)
|
|
@@ -114,12 +114,12 @@ def inference_step(vid, start_sec, duration, out_fps):
|
|
| 114 |
output = (output * stds + norms).clip(0, 1) * 255.
|
| 115 |
|
| 116 |
output_video = output.permute(0, 2, 3, 1).float().detach().cpu().numpy()
|
| 117 |
-
output_video[1:] = output_video[1:]*(0.5) + output_video[:-1]*(0.5)
|
| 118 |
|
| 119 |
return output_video, audio_arr, out_fps, audio_fps
|
| 120 |
|
| 121 |
|
| 122 |
-
def predict_fn(filepath, start_sec, duration, out_fps):
|
| 123 |
# out_fps=12
|
| 124 |
vid = EncodedVideo.from_path(filepath)
|
| 125 |
for i in range(duration):
|
|
@@ -127,7 +127,8 @@ def predict_fn(filepath, start_sec, duration, out_fps):
|
|
| 127 |
vid = vid,
|
| 128 |
start_sec = i + start_sec,
|
| 129 |
duration = 1,
|
| 130 |
-
out_fps = out_fps
|
|
|
|
| 131 |
)
|
| 132 |
gc.collect()
|
| 133 |
if i == 0:
|
|
@@ -159,7 +160,7 @@ article = "<div style='text-align: center;'>ArcaneGan by <a href='https://twitte
|
|
| 159 |
|
| 160 |
gr.Interface(
|
| 161 |
predict_fn,
|
| 162 |
-
inputs=[gr.inputs.Video(), gr.inputs.Slider(minimum=0, maximum=300, step=1, default=0), gr.inputs.Slider(minimum=1, maximum=10, step=1, default=2), gr.inputs.Slider(minimum=12, maximum=30, step=6, default=24)],
|
| 163 |
outputs=gr.outputs.Video(),
|
| 164 |
title='ArcaneGAN On Videos',
|
| 165 |
description = description,
|
|
|
|
| 97 |
norms = torch.tensor(means)[None,:,None,None].cuda()
|
| 98 |
stds = torch.tensor(stds)[None,:,None,None].cuda()
|
| 99 |
|
| 100 |
+
def inference_step(vid, start_sec, duration, out_fps, interpolate):
|
| 101 |
clip = vid.get_clip(start_sec, start_sec + duration)
|
| 102 |
video_arr = torch.from_numpy(clip['video']).permute(3, 0, 1, 2)
|
| 103 |
audio_arr = np.expand_dims(clip['audio'], 0)
|
|
|
|
| 114 |
output = (output * stds + norms).clip(0, 1) * 255.
|
| 115 |
|
| 116 |
output_video = output.permute(0, 2, 3, 1).float().detach().cpu().numpy()
|
| 117 |
+
if interpolate == 'Yes': output_video[1:] = output_video[1:]*(0.5) + output_video[:-1]*(0.5)
|
| 118 |
|
| 119 |
return output_video, audio_arr, out_fps, audio_fps
|
| 120 |
|
| 121 |
|
| 122 |
+
def predict_fn(filepath, start_sec, duration, out_fps, interpolate):
|
| 123 |
# out_fps=12
|
| 124 |
vid = EncodedVideo.from_path(filepath)
|
| 125 |
for i in range(duration):
|
|
|
|
| 127 |
vid = vid,
|
| 128 |
start_sec = i + start_sec,
|
| 129 |
duration = 1,
|
| 130 |
+
out_fps = out_fps,
|
| 131 |
+
interpolate = interpolate
|
| 132 |
)
|
| 133 |
gc.collect()
|
| 134 |
if i == 0:
|
|
|
|
| 160 |
|
| 161 |
gr.Interface(
|
| 162 |
predict_fn,
|
| 163 |
+
inputs=[gr.inputs.Video(), gr.inputs.Slider(minimum=0, maximum=300, step=1, default=0), gr.inputs.Slider(minimum=1, maximum=10, step=1, default=2), gr.inputs.Slider(minimum=12, maximum=30, step=6, default=24), gr.inputs.Radio(choices=['Yes','No'], type="value", default='Yes', label='Remove flickering'],
|
| 164 |
outputs=gr.outputs.Video(),
|
| 165 |
title='ArcaneGAN On Videos',
|
| 166 |
description = description,
|