|
|
|
@@ -964,3 +964,39 @@ def test_write_read_process_with_multi_bytes_and_array(): |
|
|
|
|
|
|
|
os.remove("{}".format(mindrecord_file_name)) |
|
|
|
os.remove("{}.db".format(mindrecord_file_name)) |
|
|
|
|
|
|
|
def test_write_read_process_without_ndarray_type(): |
|
|
|
mindrecord_file_name = "test.mindrecord" |
|
|
|
# field: mask derivation type is int64, but schema type is int32 |
|
|
|
data = [{"file_name": "001.jpg", "label": 43, "score": 0.8, "mask": np.array([3, 6, 9]), |
|
|
|
"segments": np.array([[5.0, 1.6], [65.2, 8.3]], dtype=np.float32), |
|
|
|
"data": bytes("image bytes abc", encoding='UTF-8')} |
|
|
|
] |
|
|
|
writer = FileWriter(mindrecord_file_name) |
|
|
|
schema = {"file_name": {"type": "string"}, |
|
|
|
"label": {"type": "int32"}, |
|
|
|
"score": {"type": "float64"}, |
|
|
|
"mask": {"type": "int32", "shape": [-1]}, |
|
|
|
"segments": {"type": "float32", "shape": [2, 2]}, |
|
|
|
"data": {"type": "bytes"}} |
|
|
|
writer.add_schema(schema, "data is so cool") |
|
|
|
writer.write_raw_data(data) |
|
|
|
writer.commit() |
|
|
|
|
|
|
|
reader = FileReader(mindrecord_file_name) |
|
|
|
count = 0 |
|
|
|
for index, x in enumerate(reader.get_next()): |
|
|
|
assert len(x) == 6 |
|
|
|
for field in x: |
|
|
|
if isinstance(x[field], np.ndarray): |
|
|
|
print("output: {}, input: {}".format(x[field], data[count][field])) |
|
|
|
assert (x[field] == data[count][field]).all() |
|
|
|
else: |
|
|
|
assert x[field] == data[count][field] |
|
|
|
count = count + 1 |
|
|
|
logger.info("#item{}: {}".format(index, x)) |
|
|
|
assert count == 1 |
|
|
|
reader.close() |
|
|
|
|
|
|
|
os.remove("{}".format(mindrecord_file_name)) |
|
|
|
os.remove("{}.db".format(mindrecord_file_name)) |