Skip to content

Commit 0fb54aa

Browse files
authored
Migrate load clip to all clip module (rom1504#328)
* Migrate load clip to all clip module * Add related projects section in readme
1 parent d622697 commit 0fb54aa

File tree

9 files changed

+22
-255
lines changed

9 files changed

+22
-255
lines changed

Diff for: README.md

+7
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ Also see [laion5B](https://laion.ai/laion-5b-a-new-era-of-open-large-scale-multi
2424

2525
If you believe in making reusable tools to make data easy to use for ML and you would like to contribute, please join the [DataToML](https://discord.gg/ep8yUUtCnp) chat.
2626

27+
## Related projects
28+
29+
* [all_clip](https://github.com/rom1504/all_clip) to load any clip model
30+
* [img2dataset](https://github.com/rom1504/img2dataset) to download images from urls
31+
* [open_clip](https://github.com/mlfoundations/open_clip) to train clip models
32+
* [CLIP_benchmark](https://github.com/LAION-AI/CLIP_benchmark) to evaluate clip models
33+
2734
## Who is using clip retrieval ?
2835

2936
* [cah-prepro](https://github.com/rom1504/cah-prepro) preprocess the 400M image+text crawling at home dataset. clip-retrieval is used to compute 400M clip embeddings and the indices

Diff for: clip_retrieval/clip_back.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -862,12 +862,10 @@ def encode_texts(text):
862862
def load_clip_index(clip_options):
863863
"""load the clip index"""
864864
import torch # pylint: disable=import-outside-toplevel
865-
from clip_retrieval.load_clip import load_clip, get_tokenizer # pylint: disable=import-outside-toplevel
865+
from all_clip import load_clip # pylint: disable=import-outside-toplevel
866866

867867
device = "cuda" if torch.cuda.is_available() else "cpu"
868-
model, preprocess = load_clip(clip_options.clip_model, use_jit=clip_options.use_jit, device=device)
869-
870-
tokenizer = get_tokenizer(clip_options.clip_model)
868+
model, preprocess, tokenizer = load_clip(clip_options.clip_model, use_jit=clip_options.use_jit, device=device)
871869

872870
if clip_options.enable_mclip_option:
873871
model_txt_mclip = load_mclip(clip_options.clip_model)

Diff for: clip_retrieval/clip_inference/mapper.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""mapper module transform images and text to embeddings"""
22

33
import torch
4-
from clip_retrieval.load_clip import load_clip
4+
from all_clip import load_clip
55
from sentence_transformers import SentenceTransformer
66

77

@@ -33,7 +33,7 @@ def __init__(
3333
self.enable_metadata = enable_metadata
3434
self.use_mclip = use_mclip
3535
self.device = "cuda" if torch.cuda.is_available() else "cpu"
36-
model, _ = load_clip(
36+
model, _, _ = load_clip(
3737
clip_model=clip_model,
3838
use_jit=use_jit,
3939
warmup_batch_size=warmup_batch_size,

Diff for: clip_retrieval/clip_inference/worker.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from clip_retrieval.clip_inference.writer import NumpyWriter
1717
from clip_retrieval.clip_inference.logger import LoggerWriter
1818
from clip_retrieval.clip_inference.reader import FilesReader, WebdatasetReader
19-
from clip_retrieval.load_clip import load_clip
19+
from all_clip import load_clip
2020

2121

2222
def worker(
@@ -49,7 +49,7 @@ def worker(
4949
print(f"dataset is {len(input_dataset)}", flush=True)
5050

5151
def reader_builder(sampler):
52-
_, preprocess = load_clip(
52+
_, preprocess, _ = load_clip(
5353
clip_model=clip_model,
5454
use_jit=use_jit,
5555
warmup_batch_size=batch_size,

Diff for: clip_retrieval/load_clip.py

-239
This file was deleted.

Diff for: requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ multilingual-clip>=1.0.10,<2
2525
transformers
2626
urllib3<2
2727
scipy<1.9.2
28+
all_clip<2

Diff for: tests/test_clip_inference/playground.ipynb

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
"from clip_retrieval.clip_inference.runner import Sampler\n",
2727
"import os\n",
2828
"os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n",
29-
"from clip_retrieval.clip_inference.load_clip import load_clip\n",
29+
"from all_clip import load_clip\n",
3030
"images = \"test_images\"\n",
3131
"tars = \"test_tars\"\n",
3232
"folder = images\n",
3333
"\n",
3434
"batch_size=2\n",
3535
"num_prepro_workers=2\n",
36-
"_, preprocess = load_clip()\n"
36+
"_, preprocess, _ = load_clip()\n"
3737
]
3838
},
3939
{
@@ -323,7 +323,7 @@
323323
"from clip_retrieval.clip_inference.reader import FilesReader, WebdatasetReader\n",
324324
"from clip_retrieval.clip_inference.mapper import ClipMapper\n",
325325
"from clip_retrieval.clip_inference.writer import NumpyWriter\n",
326-
"from clip_retrieval.clip_inference.load_clip import load_clip\n",
326+
"from all_clip import load_clip\n",
327327
"import os\n",
328328
"import numpy as np\n",
329329
"os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n",
@@ -398,7 +398,7 @@
398398
"from clip_retrieval.clip_inference.reader import FilesReader, WebdatasetReader\n",
399399
"from clip_retrieval.clip_inference.mapper import ClipMapper\n",
400400
"from clip_retrieval.clip_inference.writer import NumpyWriter\n",
401-
"from clip_retrieval.clip_inference.load_clip import load_clip\n",
401+
"from all_clip import load_clip\n",
402402
"from clip_retrieval.clip_inference.distributor import SequentialDistributor, PysparkDistributor\n",
403403
"import os\n",
404404
"import numpy as np\n",

Diff for: tests/test_clip_inference/test_reader.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from clip_retrieval.clip_inference.runner import Sampler
44
import os
55

6-
from clip_retrieval.load_clip import load_clip
6+
from all_clip import load_clip
77

88

99
@pytest.mark.parametrize("file_format", ["files", "webdataset"])
@@ -17,7 +17,7 @@ def test_reader(file_format):
1717
input_dataset = [tar_folder + "/image1.tar", tar_folder + "/image2.tar"]
1818
batch_size = 2
1919
num_prepro_workers = 2
20-
_, preprocess = load_clip(warmup_batch_size=batch_size)
20+
_, preprocess, _ = load_clip(warmup_batch_size=batch_size)
2121

2222
output_partition_count = 2
2323
actual_values = []

Diff for: tests/test_clip_inference/test_runner.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from clip_retrieval.clip_inference.reader import FilesReader
44
from clip_retrieval.clip_inference.mapper import ClipMapper
55
from clip_retrieval.clip_inference.writer import NumpyWriter
6-
from clip_retrieval.load_clip import load_clip
6+
from all_clip import load_clip
77
import os
88
import numpy as np
99
import tempfile
@@ -21,7 +21,7 @@ def test_runner():
2121
with tempfile.TemporaryDirectory() as tmpdir:
2222

2323
def reader_builder(sampler):
24-
_, preprocess = load_clip(warmup_batch_size=batch_size)
24+
_, preprocess, _ = load_clip(warmup_batch_size=batch_size)
2525
return FilesReader(
2626
sampler,
2727
preprocess,

0 commit comments

Comments
 (0)