From c13005fd422b20dcd11774e9fff46370887218e4 Mon Sep 17 00:00:00 2001 From: Gianluca Gippetto Date: Fri, 24 Sep 2021 03:42:20 +0200 Subject: [PATCH] In Compose, replace lambda function with named function (#151) This prevents the following error on Windows (when using a multi-process DataLoader, for example): AttributeError: Can't pickle local object '_transform..' --- clip/clip.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clip/clip.py b/clip/clip.py index 6ce5565..9d6f4d6 100644 --- a/clip/clip.py +++ b/clip/clip.py @@ -68,11 +68,15 @@ def _download(url: str, root: str): return download_target +def _convert_image_to_rgb(image): + return image.convert("RGB") + + def _transform(n_px): return Compose([ Resize(n_px, interpolation=BICUBIC), CenterCrop(n_px), - lambda image: image.convert("RGB"), + _convert_image_to_rgb, ToTensor(), Normalize((0.48145466, 0.4578275, 0.40821073), (0.26862954, 0.26130258, 0.27577711)), ])