此错误通常与在将 Numpy 数组序列化为发送到 AWS Sagemaker 端点时遇到的问题有关。以下是将 Numpy 数组转换为 JSON 格式的示例代码,可以解决此问题:
import json
import numpy as np
# Convert numpy array to JSON string
def json_serialize_numpy(obj):
if isinstance(obj, np.ndarray):
return json.dumps(obj.tolist())
raise TypeError(f'Type {type(obj)} not serializable')
# Convert JSON string to numpy array
def json_deserialize_numpy(s):
arr = json.loads(s)
if isinstance(arr, list):
return np.array(arr)
return arr
# Example usage
data = np.random.rand(3, 3)
json_data = json_serialize_numpy(data)
print(f'JSON data: {json_data}')
deserialized_data = json_deserialize_numpy(json_data)
print(f'Deserialized data: {deserialized_data}')
此代码将 Numpy 数组转换为列表,以便能够 JSON 序列化。在发送到 AWS Sagemaker 端点时,可以将 JSON 格式的数据发送过去,并使用相同的代码从 JSON 反序列化回 Numpy 数组。