From c11d9140c9d9d02c01fc8eebadca5f07da154a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E4=BD=B3=E6=85=A7?= <74049862+guojiahuiEmily@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:24:29 +0800 Subject: [PATCH] Add output filename to support concurrent work in FOM. (#204) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加文件名的参数filename,以便可以多并发执行 first_order_predictor.py --- applications/tools/first-order-demo.py | 2 ++ ppgan/apps/first_order_predictor.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/applications/tools/first-order-demo.py b/applications/tools/first-order-demo.py index a207532..149f721 100644 --- a/applications/tools/first-order-demo.py +++ b/applications/tools/first-order-demo.py @@ -25,6 +25,7 @@ parser.add_argument("--weight_path", parser.add_argument("--source_image", type=str, help="path to source image") parser.add_argument("--driving_video", type=str, help="path to driving video") parser.add_argument("--output", default='output', help="path to output") +parser.add_argument("--filename", default='result.mp4', help="filename to output") parser.add_argument("--relative", dest="relative", action="store_true", @@ -65,6 +66,7 @@ if __name__ == "__main__": paddle.set_device('cpu') predictor = FirstOrderPredictor(output=args.output, + filename=args.filename, weight_path=args.weight_path, config=args.config, relative=args.relative, diff --git a/ppgan/apps/first_order_predictor.py b/ppgan/apps/first_order_predictor.py index cfc9c4e..7943002 100644 --- a/ppgan/apps/first_order_predictor.py +++ b/ppgan/apps/first_order_predictor.py @@ -45,7 +45,8 @@ class FirstOrderPredictor(BasePredictor): adapt_scale=False, find_best_frame=False, best_frame=None, - ratio=1.0): + ratio=1.0, + filename='result.mp4'): if config is not None and isinstance(config, str): self.cfg = yaml.load(config, Loader=yaml.SafeLoader) elif isinstance(config, dict): @@ -88,6 +89,7 @@ class FirstOrderPredictor(BasePredictor): if not os.path.exists(output): os.makedirs(output) self.output = output + self.filename = filename self.relative = relative self.adapt_scale = adapt_scale self.find_best_frame = find_best_frame @@ -170,7 +172,7 @@ class FirstOrderPredictor(BasePredictor): frame = cv2.copyTo(patch, mask, frame) out_frame.append(frame) - imageio.mimsave(os.path.join(self.output, 'result.mp4'), + imageio.mimsave(os.path.join(self.output, self.filename), [frame for frame in out_frame], fps=fps) -- GitLab