From fb600ef45a51e2f68881519ae415c7fab0066fb3 Mon Sep 17 00:00:00 2001 From: "junjie.jiang" Date: Fri, 5 May 2023 17:59:16 +0800 Subject: [PATCH] Add glob Signed-off-by: junjie.jiang --- README.md | 37 +++++++++++++++++++++++++++++++++++++ __init__.py | 4 ++++ path_glob.py | 15 +++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 __init__.py create mode 100644 path_glob.py diff --git a/README.md b/README.md index 879ddfd..677420c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,39 @@ # glob +*author: junjie.jiang* + + +
+ + +## Desription + +Wrapper of python glob.glob + +The parameters are consistent with it. + +
+ + +## Code Example + +### Example + +```python +from towhee import DataLoader, pipe, ops +p = ( + pipe.input('image_path') + .map('image_path', 'image', ops.image_decode.cv2()) + .map('image', 'vec', ops.image_embedding.timm(model_name='resnet50')) + .output('vec') + +) + +for data in DataLoader(ops.data_source.glob('./*.jpg')): + print(p(data).to_list(kv_format=True)) + +# batch +for data in DataLoader(ops.data_source.glob('./*.jpg'), batch_size=10): + p.batch(data) +``` + diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..a6b80ef --- /dev/null +++ b/__init__.py @@ -0,0 +1,4 @@ +from .path_glob import PathGlob + +def glob(*args, **kwargs): + return PathGlob(*args, **kwargs) diff --git a/path_glob.py b/path_glob.py new file mode 100644 index 0000000..e3d0352 --- /dev/null +++ b/path_glob.py @@ -0,0 +1,15 @@ +from glob import glob + +from towhee.operator.base import PyOperator + + +class PathGlob(PyOperator): + """ + Wrapper of glob.glob + """ + def __init__(self, pathname, *, recursive=False): + self._pattern = pathname + self._recursive = recursive + + def __call__(self): + return glob(self._pattern, recursive=self._recursive)