diff --git a/server/clip_server/executors/clip_onnx.py b/server/clip_server/executors/clip_onnx.py index 67d2dd29f..b080118d8 100644 --- a/server/clip_server/executors/clip_onnx.py +++ b/server/clip_server/executors/clip_onnx.py @@ -5,8 +5,6 @@ from typing import Optional, Dict import onnxruntime as ort -from jina import Executor, requests, DocumentArray - from clip_server.executors.helper import ( split_img_txt_da, preproc_image, @@ -15,6 +13,7 @@ ) from clip_server.model import clip from clip_server.model.clip_onnx import CLIPOnnxModel +from jina import Executor, requests, DocumentArray class CLIPEncoder(Executor): @@ -103,11 +102,14 @@ async def encode(self, docs: 'DocumentArray', **kwargs): ): minibatch.embeddings = self._model.encode_image(minibatch.tensors) # recover original content - if _contents: + try: + _ = iter(_contents) for _d, _ct in zip(minibatch, _contents): _d.content = _ct + except TypeError: + pass - # for text + # for text if _txt_da: for minibatch, _contents in _txt_da.map_batch( partial(preproc_text, return_np=True), @@ -116,9 +118,12 @@ async def encode(self, docs: 'DocumentArray', **kwargs): ): minibatch.embeddings = self._model.encode_text(minibatch.tensors) # recover original content - if _contents: + try: + _ = iter(_contents) for _d, _ct in zip(minibatch, _contents): _d.content = _ct + except TypeError: + pass # drop tensors docs.tensors = None diff --git a/server/clip_server/executors/clip_tensorrt.py b/server/clip_server/executors/clip_tensorrt.py index f60c87dd6..fa1fc62f9 100644 --- a/server/clip_server/executors/clip_tensorrt.py +++ b/server/clip_server/executors/clip_tensorrt.py @@ -3,8 +3,6 @@ from typing import Dict import numpy as np -from jina import Executor, requests, DocumentArray - from clip_server.executors.helper import ( split_img_txt_da, preproc_image, @@ -13,6 +11,7 @@ ) from clip_server.model import clip from clip_server.model.clip_trt import CLIPTensorRTModel +from jina import Executor, requests, DocumentArray class CLIPEncoder(Executor): @@ -80,11 +79,14 @@ async def encode(self, docs: 'DocumentArray', **kwargs): .astype(np.float32) ) # recover original content - if _contents: + try: + _ = iter(_contents) for _d, _ct in zip(minibatch, _contents): _d.content = _ct + except TypeError: + pass - # for text + # for text if _txt_da: for minibatch, _contents in _txt_da.map_batch( partial(preproc_text, device=self._device, return_np=False), @@ -99,11 +101,14 @@ async def encode(self, docs: 'DocumentArray', **kwargs): .astype(np.float32) ) # recover original content - if _contents: + try: + _ = iter(_contents) for _d, _ct in zip(minibatch, _contents): _d.content = _ct + except TypeError: + pass - # drop tensors + # drop tensors docs.tensors = None return docs diff --git a/server/clip_server/executors/clip_torch.py b/server/clip_server/executors/clip_torch.py index 2c1e05ad4..e356f448b 100644 --- a/server/clip_server/executors/clip_torch.py +++ b/server/clip_server/executors/clip_torch.py @@ -6,8 +6,6 @@ import numpy as np import torch -from jina import Executor, requests, DocumentArray - from clip_server.executors.helper import ( split_img_txt_da, preproc_image, @@ -15,6 +13,7 @@ set_rank, ) from clip_server.model import clip +from jina import Executor, requests, DocumentArray class CLIPEncoder(Executor): @@ -95,9 +94,12 @@ async def encode(self, docs: 'DocumentArray', **kwargs): ) # recover original content - if _contents: + try: + _ = iter(_contents) for _d, _ct in zip(minibatch, _contents): _d.content = _ct + except TypeError: + pass # for text if _txt_da: @@ -114,9 +116,12 @@ async def encode(self, docs: 'DocumentArray', **kwargs): ) # recover original content - if _contents: + try: + _ = iter(_contents) for _d, _ct in zip(minibatch, _contents): _d.content = _ct + except TypeError: + pass # drop tensors docs.tensors = None