深度学习入门之txt文本文件转换为npz文件

一、需求

在GazeCapture数据集中,有两个记录了注视点坐标的数据文件train_y.npy和val_y.npy,这其中存放的并不是图像数据,而是点的位置信息,与之前的需求有区别。在制作自己的训练集时,可以在txt文本文件中记录每张图片对应的屏幕注视点的位置信息,然后将其转化为.npz文件,以供训练。

二、txt文件转npz文件

2.1 查看train_y.npy文件内容

首先,以train_y.npy为例,我们可以利用python代码查看该文件的内容以及相关信息。

import numpy as np
# 加载文件
face_data=np.load('C:/Users/Lenovo/Desktop/eye_tracker_train_and_val.npz')
# 查看文件中保存的数据信息
print(type(face_data['train_y']))
print((face_data['train_y']).dtype)
print((face_data['train_y']).size)
print((face_data['train_y']).shape)
print((face_data['train_y']).ndim)

得到下面的结果:

<class 'numpy.ndarray'>
float64
96000
(48000, 2)
2

说明从该文件转化的数组是一个2维数组,其中存放了48000个1×2的位置信息,对应48000张图片注视的点的坐标,并且数组中元素的数据类型是float64。
在控制台打印数据的内容如下图所示:

print(face_data['train_y'])

《深度学习入门之txt文本文件转换为npz文件》

2.2 将npy文件保存为文本文件

为了更方便地查看其中的数据,需要转换为文本文件:

np.savetxt('C:/Users/Lenovo/Desktop/Eyetracking for everyone程序/我的调试/train_y.out',face_data['train_y'])

在指令路径下,可以直接用记事本打开train_y.out文件。
《深度学习入门之txt文本文件转换为npz文件》
我已经把train_y.npy和val_y.npy都转换为文本文件了,这里挂上连接,需要自取。
#链接: train_y.out和val.out

2.3 txt文件转化为npz文件

在加载文本文件时,用的不是load,而是loadtxt函数,下图是其函数原型。
《深度学习入门之txt文本文件转换为npz文件》
将txt文件中的数据读取到numpy数组中,并保存为npz文件的程序如下:

// 加载数据
val_y_data=np.loadtxt('C:\\Users\Lenovo/Desktop/Eyetracking for everyone程序/我的调试/val_y.out');
// 打印数据
print(val_y_data)
// 保存为npz格式
np.savez('train_and_val1.npz',val_y=val_y_data);

OK,that’s all,enjoy it!
《深度学习入门之txt文本文件转换为npz文件》

    原文作者:NUAA_CJX
    原文地址: https://blog.csdn.net/weixin_43487442/article/details/108998797
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞