1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
import os
import sys
import time
import subprocess
import argparse
import shutil
import re
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
clean_re = re.compile('[^a-zA-Z0-9_\- ]')
start_time = time.time()
parser = argparse.ArgumentParser()
parser.add_argument('--folder', required=True)
parser.add_argument('--folder_id', type=int, default=0)
parser.add_argument('--out_fn', required=True)
parser.add_argument('--dataset', required=True)
parser.add_argument('--end', default="99999")
opt = parser.parse_args()
dataset = clean_re.sub('', opt.dataset)
step = '256'
os.makedirs('./uprez', exist_ok=True)
print(">>> {}".format(dataset))
in_dir = os.path.abspath(opt.folder)
vsr_duf_inputs_dir = os.path.abspath('../vsr-duf/inputs')
vsr_duf_results_dir = os.path.abspath('../vsr-duf/results/{}'.format(dataset))
out_dir = os.path.abspath('./uprez')
print("{}: {}".format('in_dir', in_dir))
print("{}: {}".format('vsr_duf_inputs', vsr_duf_inputs_dir))
print("{}: {}".format('vsr_duf_results', vsr_duf_results_dir))
print("{}: {}".format('out_dir', out_dir))
subprocess.call([ 'rm', '-rf', os.path.join(in_dir, '*') ])
subprocess.call([ 'rm', '-rf', os.path.join(vsr_duf_results_dir, '*') ])
print(">>>> crop frames")
subprocess.call([
sys.executable,
'../vsr-duf/crop_frames.py',
'--step', step,
'--in_dir', in_dir,
'--out_dir', vsr_duf_inputs_dir,
'--end', opt.end,
'--ratio', '6.0'
])
print(">>>> uprez")
subprocess.call([
sys.executable,
'../vsr-duf/test.py',
'--in_dir', vsr_duf_inputs_dir,
'--out_dir', vsr_duf_results_dir,
'--network_dir', os.path.abspath('../vsr-duf'),
])
print(">>>> merge framez")
subprocess.call([
sys.executable,
'../vsr-duf/merge_frames.py',
'--step', step,
'--in_dir', vsr_duf_results_dir,
'--render_dir', out_dir,
'--out_fn', opt.out_fn,
'--mov',
])
if opt.folder_id > 0:
mp4 = os.path.join('./uprez', opt.out_fn + '.mp4')
print("upload {}".format(mp4))
endpoint = os.getenv('API_REMOTE') + '/api/folder/{}/upload/'.format(opt.folder_id)
cmd = [
"curl",
"-X", "POST",
"-F", "module=pix2pixhd",
"-F", "activity=uprez",
"-F", "folder_id={}".format(opt.folder_id),
"-F", "generated=1",
"-F", "dataset={}".format(dataset),
"-F", "datatype=video",
"-F", "file=@{}".format(mp4),
endpoint
]
print(" ".join(cmd))
subprocess.call(cmd)
finish_time = time.time()
print("took {} s.".format(finish_time - start_time))
|