You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

70 lines
2.1 KiB

# import pickle
# # Load the pickle file
# with open("face_store.pkl", "rb") as f:
# data = pickle.load(f)
# # Print the data for inspection
# print(data)
# import json
# import numpy as np
# def convert_ndarray(obj):
# """Recursively convert numpy.ndarray to list in a data structure."""
# if isinstance(obj, np.ndarray):
# return obj.tolist()
# elif isinstance(obj, list):
# return [convert_ndarray(item) for item in obj]
# elif isinstance(obj, dict):
# return {key: convert_ndarray(value) for key, value in obj.items()}
# else:
# return obj
# # Assuming `data` contains numpy arrays
# # data = {
# # "name": "example",
# # "embedding": np.array([1.0, 2.0, 3.0]),
# # "nested": {
# # "another_array": np.array([4.0, 5.0])
# # }
# # }
# # Convert `data` to JSON-serializable format
# data_serializable = convert_ndarray(data)
# # Save as JSON
# with open("data.json", "w") as json_file:
# json.dump(data_serializable, json_file, indent=4)
# print("JSON file saved successfully!")
import pickle
import json
import numpy as np
# Function to convert non-serializable objects (like numpy arrays) to a serializable format
def convert_to_serializable(data):
if isinstance(data, np.ndarray):
return data.tolist() # Convert ndarray to list
elif isinstance(data, dict): # If data is a dictionary, recursively convert values
return {key: convert_to_serializable(value) for key, value in data.items()}
elif isinstance(data, list): # If data is a list, recursively convert items
return [convert_to_serializable(item) for item in data]
else:
return data # For other types, return as is
# Load the pickle file
with open("face_store.pkl", "rb") as f:
data = pickle.load(f)
# Convert the data to a JSON-serializable format
data_serializable = convert_to_serializable(data)
# Save to a JSON file
with open("face_store.json", "w") as json_file:
json.dump(data_serializable, json_file, indent=4)
print("Data has been saved to face_store.json")