一、需求
论文《EyeTracking for everyone》中提出了iTracker神经网络,并构建了一个叫GazeCapture的数据库,将其部分数据集下载后,可以看到文件的层次结构如下图所示:
其中,整个数据集的后缀名是npz,内部文件的后缀名是npy。由于该数据集是面向Apple产品系列的,而我的目标是面向笔记本电脑的,需要根据要求制作自己的数据集,这就涉及到如何去制作npz和npy格式的文件。
二、npz文件和npy文件
首先需要了解,在深度学习的数据集格式中,常用的有csv、json、npy、npz格式等等。并且npy和npz文件的内存大小在这几种中相对来说,也是比较小的。
2.1 npz和npy的区别
npy是将numpy生成的数组保存为二进制格式数据,主要用来保存单个np.array数组;npz将多个数组保存到一个文件,且保存为二进制格式,可视为多个npy文件的打包。正如上图所示。
2.2 如何制作npy文件
制作npy文件的程序如下所示:
// 打开一张图片,并转换为np数组
raw_image=Image.open("face_scipy.jpg")
image_array=np.array(raw_image)
// 将图像数据数组保存到npy文件中去
np.save('test.npy',image_array)
上面这段程序,可以实现将一张图片的数据保存到npy文件中
2.3 如何制作npz文件
关键程序如下所示:
// 以a~j表示要存放到不同npy文件中的np数组,当然实际过程中是图像数组
a=np.arange(3)
b=np.arange(4)
c=np.arange(5)
d=np.arange(6)
e=np.arange(7)
f=np.arange(3)
g=np.arange(4)
h=n