数据格式转换: mat文件转换成py文件
对于python来说,当然可以直接使用scipy包中的loadmat方法导入
from scipy.io import loadmat
mat = loadmat(r"D:/dataset/ModelNet/traindata.mat")
这里的数据是对于ModelNet-10数据集单视角下的处理结果。
这里我们尝试将mat文件转换成py文件,其具有与cifar10相同的形式。
"""
This file is to translate the .mat file to .py file.
"""
import numpy as np
import pickle
import h5py# data path
trainpath = 'D:/dataset/ModelNet/traindata.mat'
# open files
file = h5py.File(trainpath, 'r')
# the data is transposed via h5py.
# get the data and labels
data = file['testdata'][:]
#print(data.shape)
label = file['testlabel'][:]
# tanpose, if needed
data = np.transpose(data)
#label = label.astype(np.int32)
data_len = len(data)
# create new
inter_data =[[]]
inter_label = np.zeros((data_len,))# data tranfer
for i in range(data_len):img = data[i, :]if inter_data == [[]]:inter_data = [img]else:inter_data = np.concatenate((inter_data, [img]), axis = 0)inter_label[i] = label[0, i]# let the label to int type
inter_label = inter_label.astype(np.int32)# 创建字典来进行保存
inter_dict = {'data': inter_data, 'label': inter_label}
f_train = open('D:/dataset/ModelNet/train','wb')
pickle.dump(inter_dict, f_train)
如此保存的文件可直接放入tensorflow或者keras构建的网络中。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
