from mindspore.mindrecord import FileWriter , FileReader
mindrecord_data_path="dataset/mindrecord_data/test.mindrecord"
#传入文件及分片数量
writer=FileWriter(file_name=mindrecord_data_path,shard_num=3)
#定义schema
data_schema = {"file_name": {"type": "string"}, "label": {"type": "int32"}, "data":{"type": "bytes"}}
writer.add_schema(data_schema,"data_schema")
#数据准备
file_image = "dataset/data/street.jpg"
with open(file_image,"rb") as f:
data_bytes=f.read()
print(data_bytes)
data = [{"file_name": "transform.jpg", "label": 1, "data": data_bytes}]
indexs = ["file_name", "label"]
writer.add_index(indexs)
#数据写入
writer.write_raw_data(data)
#生成本地数据
writer.commit()
生成数据如下:
通过mindspore.dataset提供的minddataset进行加载,创建迭代器,读取数据
file_name = 'retinanet.mindrecord0'
# 创建MindDataset
define_data_set = ds.MindDataset(dataset_file=file_name)
# 创建字典迭代器并通过迭代器读取数据记录
count = 0
for item in define_data_set.create_dict_iterator(output_numpy=True):
print("sample: {}".format(item))
count += 1
print("Got {} samples".format(count))



