hjxdl 0.1.66__py3-none-any.whl → 0.1.68__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
hdl/_version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.1.66'
16
- __version_tuple__ = version_tuple = (0, 1, 66)
15
+ __version__ = version = '0.1.68'
16
+ __version_tuple__ = version_tuple = (0, 1, 68)
hdl/utils/llm/vis.py CHANGED
@@ -1,5 +1,7 @@
1
1
  from pathlib import Path
2
2
  import json
3
+ import base64
4
+ from io import BytesIO
3
5
 
4
6
  import torch
5
7
  import numpy as np
@@ -17,6 +19,40 @@ __all__ = [
17
19
 
18
20
  HF_HUB_PREFIX = "hf-hub:"
19
21
 
22
+
23
+ def imgfile_to_base64(img_dir: str):
24
+ """Converts an image file to base64 format.
25
+
26
+ Args:
27
+ img_dir (str): The directory path of the image file.
28
+
29
+ Returns:
30
+ str: The image file converted to base64 format.
31
+ """
32
+ with open(img_dir, 'rb') as file:
33
+ img_base64 = "data:image/jpeg;base64," + base64.b64encode(
34
+ file.read()
35
+ ).decode('utf-8')
36
+ return img_base64
37
+
38
+
39
+ def imgbase64_to_pilimg(img_base64: str):
40
+ """Converts a base64 encoded image to a PIL image.
41
+
42
+ Args:
43
+ img_base64 (str): Base64 encoded image string.
44
+
45
+ Returns:
46
+ PIL.Image: A PIL image object.
47
+ """
48
+ img_pil = Image.open(
49
+ BytesIO(
50
+ base64.b64decode(img_base64.split(",")[-1])
51
+ )
52
+ )
53
+ return img_pil
54
+
55
+
20
56
  class ImgHandler:
21
57
  def __init__(
22
58
  self,
@@ -218,12 +254,16 @@ class ImgHandler:
218
254
  """
219
255
  sorted_imgs = natsort.natsorted(images)
220
256
  img_feats = self.get_img_features(sorted_imgs, to_numpy=True)
221
- pipeline = self.ih.db_conn.pipeline()
257
+ pipeline = self.db_conn.pipeline()
222
258
  for img_file, emb in zip(sorted_imgs, img_feats):
223
259
  # 初始化 Redis,先使用 img 文件名作为 Key 和 Value,后续再更新为图片特征向量
224
- pipeline.json().set(img_file, "$", img_file)
260
+ # pipeline.json().set(img_file, "$", img_file)
225
261
  emb = emb.astype(np.float32).tolist()
226
- pipeline.json().set(img_file, "$", emb)
262
+ emb_json = {
263
+ "emb": emb,
264
+ "data": imgfile_to_base64(img_file)
265
+ }
266
+ pipeline.json().set(img_file, "$", emb_json)
227
267
  res = pipeline.execute()
228
268
  print('redis set:', res)
229
269
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hjxdl
3
- Version: 0.1.66
3
+ Version: 0.1.68
4
4
  Summary: A collection of functions for Jupyter notebooks
5
5
  Home-page: https://github.com/huluxiaohuowa/hdl
6
6
  Author: Jianxing Hu
@@ -1,5 +1,5 @@
1
1
  hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
2
- hdl/_version.py,sha256=tr9Pq2sozjd5Ty_4lPM_A-i6XowDPOaB6nT_SLKjIE4,413
2
+ hdl/_version.py,sha256=Ls4cA2mLoWUKL5YJweymGdDIvmmF3QnZl5iBfwyFBzg,413
3
3
  hdl/args/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  hdl/args/loss_args.py,sha256=s7YzSdd7IjD24rZvvOrxLLFqMZQb9YylxKeyelSdrTk,70
5
5
  hdl/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -131,12 +131,12 @@ hdl/utils/llm/chat.py,sha256=sk7Lw5Oa30k-l2fnJknkMmTc5zkBeEKsR981aeFhH5s,11907
131
131
  hdl/utils/llm/embs.py,sha256=Tf0FOYrOFZp7qQpEPiSCXzlgyHH0X9HVTUtsup74a9E,7174
132
132
  hdl/utils/llm/extract.py,sha256=2sK_WJzmYIc8iuWaM9DA6Nw3_6q1O4lJ5pKpcZo-bBA,6512
133
133
  hdl/utils/llm/llama_chat.py,sha256=watcHGOaz-bv3x-yDucYlGk5f8FiqfFhwWogrl334fk,4387
134
- hdl/utils/llm/vis.py,sha256=KVRM5iy5Br_ldr0H-QkppSHpPGjKlKzPHEamF7v94do,7609
134
+ hdl/utils/llm/vis.py,sha256=7pL1-Br_h8PxmJyRTfmKOcbLqnHOVg7QZocXGKZjycI,8544
135
135
  hdl/utils/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  hdl/utils/schedulers/norm_lr.py,sha256=bDwCmdEK-WkgxQMFBiMuchv8Mm7C0-GZJ6usm-PQk14,4461
137
137
  hdl/utils/weather/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  hdl/utils/weather/weather.py,sha256=k11o6wM15kF8b9NMlEfrg68ak-SfSYLN3nOOflFUv-I,4381
139
- hjxdl-0.1.66.dist-info/METADATA,sha256=6iHh5yVtaR5Mw6WXZYT_iYuW6SYOxj0-JLuKeKS2ChU,903
140
- hjxdl-0.1.66.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
141
- hjxdl-0.1.66.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
142
- hjxdl-0.1.66.dist-info/RECORD,,
139
+ hjxdl-0.1.68.dist-info/METADATA,sha256=oSbHG7FUzXO-P4z8NuOZlS703Jv4mjKgZUQSo69vhMw,903
140
+ hjxdl-0.1.68.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
141
+ hjxdl-0.1.68.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
142
+ hjxdl-0.1.68.dist-info/RECORD,,
File without changes