hjxdl 0.1.77__py3-none-any.whl → 0.1.79__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 +2 -2
- hdl/utils/llm/vis.py +55 -7
- {hjxdl-0.1.77.dist-info → hjxdl-0.1.79.dist-info}/METADATA +1 -1
- {hjxdl-0.1.77.dist-info → hjxdl-0.1.79.dist-info}/RECORD +6 -6
- {hjxdl-0.1.77.dist-info → hjxdl-0.1.79.dist-info}/WHEEL +0 -0
- {hjxdl-0.1.77.dist-info → hjxdl-0.1.79.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
hdl/utils/llm/vis.py
CHANGED
@@ -2,6 +2,7 @@ from pathlib import Path
|
|
2
2
|
import json
|
3
3
|
import base64
|
4
4
|
from io import BytesIO
|
5
|
+
import requests
|
5
6
|
|
6
7
|
import torch
|
7
8
|
import numpy as np
|
@@ -25,22 +26,68 @@ __all__ = [
|
|
25
26
|
|
26
27
|
HF_HUB_PREFIX = "hf-hub:"
|
27
28
|
|
29
|
+
import requests
|
30
|
+
import base64
|
31
|
+
from io import BytesIO
|
32
|
+
from PIL import Image
|
33
|
+
|
34
|
+
|
35
|
+
def imgurl_to_base64(image_url: str):
|
36
|
+
"""Converts an image from a URL to base64 format.
|
37
|
+
|
38
|
+
Args:
|
39
|
+
image_url (str): The URL of the image.
|
40
|
+
|
41
|
+
Returns:
|
42
|
+
str: The image file converted to base64 format with appropriate MIME type.
|
43
|
+
"""
|
44
|
+
# Send a GET request to fetch the image from the URL
|
45
|
+
response = requests.get(image_url)
|
46
|
+
|
47
|
+
# Ensure the request was successful
|
48
|
+
if response.status_code == 200:
|
49
|
+
# Read the image content from the response
|
50
|
+
img_data = response.content
|
51
|
+
|
52
|
+
# Load the image using PIL to determine its format
|
53
|
+
img = Image.open(BytesIO(img_data))
|
54
|
+
img_format = img.format.lower() # Get image format (e.g., jpeg, png)
|
55
|
+
|
56
|
+
# Determine the MIME type based on the format
|
57
|
+
mime_type = f"image/{img_format}"
|
58
|
+
|
59
|
+
# Convert the image data to base64
|
60
|
+
img_base64 = f"data:{mime_type};base64," + base64.b64encode(img_data).decode('utf-8')
|
61
|
+
|
62
|
+
return img_base64
|
63
|
+
else:
|
64
|
+
raise Exception(f"Failed to retrieve image from {image_url}, status code {response.status_code}")
|
65
|
+
|
28
66
|
|
29
67
|
def imgfile_to_base64(img_dir: str):
|
30
|
-
"""Converts an image file to base64 format.
|
68
|
+
"""Converts an image file to base64 format, supporting multiple formats.
|
31
69
|
|
32
70
|
Args:
|
33
71
|
img_dir (str): The directory path of the image file.
|
34
72
|
|
35
73
|
Returns:
|
36
|
-
str: The image file converted to base64 format.
|
74
|
+
str: The image file converted to base64 format with appropriate MIME type.
|
37
75
|
"""
|
76
|
+
# Open the image file
|
38
77
|
with open(img_dir, 'rb') as file:
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
78
|
+
# Read the image data
|
79
|
+
img_data = file.read()
|
80
|
+
|
81
|
+
# Get the image format (e.g., JPEG, PNG, etc.)
|
82
|
+
img_format = Image.open(BytesIO(img_data)).format.lower()
|
83
|
+
|
84
|
+
# Determine the MIME type based on the format
|
85
|
+
mime_type = f"image/{img_format}"
|
43
86
|
|
87
|
+
# Convert the image data to base64
|
88
|
+
img_base64 = f"data:{mime_type};base64," + base64.b64encode(img_data).decode('utf-8')
|
89
|
+
|
90
|
+
return img_base64
|
44
91
|
|
45
92
|
def imgbase64_to_pilimg(img_base64: str):
|
46
93
|
"""Converts a base64 encoded image to a PIL image.
|
@@ -51,6 +98,7 @@ def imgbase64_to_pilimg(img_base64: str):
|
|
51
98
|
Returns:
|
52
99
|
PIL.Image: A PIL image object.
|
53
100
|
"""
|
101
|
+
# Decode the base64 string and convert it back to an image
|
54
102
|
img_pil = Image.open(
|
55
103
|
BytesIO(
|
56
104
|
base64.b64decode(img_base64.split(",")[-1])
|
@@ -167,7 +215,7 @@ class ImgHandler:
|
|
167
215
|
if isinstance(img, str):
|
168
216
|
if Path(img).is_file():
|
169
217
|
images_fixed.append(Image.open(img))
|
170
|
-
elif img.startswith("data:image
|
218
|
+
elif img.startswith("data:image"):
|
171
219
|
images_fixed.append(imgbase64_to_pilimg(img))
|
172
220
|
elif isinstance(img, Image.Image):
|
173
221
|
images_fixed.append(img)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
2
|
+
hdl/_version.py,sha256=gVWypE58uIRMaysjaHk01pDxqGS_O1SFlybbuLyJEJ4,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=
|
134
|
+
hdl/utils/llm/vis.py,sha256=91lVyCL2pwGMakGuGaT6j3DGKWGhSib9vUyGhGUDuUE,15697
|
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.
|
140
|
-
hjxdl-0.1.
|
141
|
-
hjxdl-0.1.
|
142
|
-
hjxdl-0.1.
|
139
|
+
hjxdl-0.1.79.dist-info/METADATA,sha256=mIkHVtGxLnRySUeUwXPYKDPGPLMH-aW4PLEvH-uyEMw,903
|
140
|
+
hjxdl-0.1.79.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
141
|
+
hjxdl-0.1.79.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
|
142
|
+
hjxdl-0.1.79.dist-info/RECORD,,
|
File without changes
|
File without changes
|