深度学习之使用numpy库中的方法保存词向量

如何保存训练后得到的词向量?
方法:使用numpy库中的savez()方法直接进行保存。

方法介绍:

import numpy as np
使用np.savez()方法保存词向量存储为npz文件。

  • npz文件:是numpy库中的一种数据格式,它是一种压缩文件,可以保存多个数组和元数据。

另外一种方法:np.save(),存储得到的是npy文件。

npy文件和npz文件是NumPy库中用于存储数组数据的两种不同格式,它们在用途、功能以及存储方式上存在一些区别和联系。
用途与功能:

  • .npy文件:用于存储单个NumPy数组。它直接存储数组数据,包括数组的形状(维度)、数据类型以及其他必要的元数据信息,以确保数据的完整性和可恢复性。这种格式在科学计算和数据分析中非常常见,特别是在需要将数据快速保存到磁盘或在不同环境间共享NumPy数组时。
  • .npz文件:用于存储多个NumPy数组。它是一个压缩文件,可以包含多个.npy文件,每个文件存储一个数组。这种格式在需要同时保存和管理多个数组时非常有用,可以有效地减小文件的大小,节省存储空间。

存储方式:

  • .npy文件:以二进制形式存储数据,这种存储方式比文本文件(如CSV)更加高效,特别是对于大型数组数据。二进制格式允许直接映射到内存,从而加快了读写速度。
  • .npz文件:采用压缩存储格式,将多个NumPy数组压缩成一个文件。这种压缩方式不仅减小了文件的大小,还方便了数据的组织和管理。

文件大小:

  • 对于存储相同数量的数据,.npy文件的总大小通常与数组的总大小成正比。
  • 而.npz文件由于是压缩文件,其大小可能会小于相应的多个.npy文件的总大小。

加载方式:

  • 加载.npy文件会直接返回一个NumPy数组。
  • 加载.npz文件会返回一个类似于字典的对象,你需要通过数组的名称来访问各个数组。

联系

  • 共同目的:npy文件和npz文件都是NumPy库用于存储数组数据的文件格式,它们的共同目的是为了方便地保存、加载和处理数组数据。
  • 相互转换:虽然npy文件和npz文件在存储方式和用途上有所不同,但你可以通过NumPy库提供的函数将它们相互转换。
    例如,你可以将多个.npy文件合并为一个.npz文件,或者从.npz文件中提取出单个的.npy文件。

而对于保存模型训练后得到的词向量,使用savez()方法存储为.npz文件更好,对于数据量大的文件尤其适合。

代码1:

import numpy as np

"""保存词向量为npy文件---save()方法"""
a = np.random.randint(5, size=(2, 4)) #随机生成2行4列的数据,数据值为0~5之间
np.save('test.npy', a)#

b = np.load('test.npy')
print(b)

运行结果:
在这里插入图片描述
在这里插入图片描述

代码2:

import numpy as np

"""存储词向量为npz文件-----savez()方法"""
a = np.random.randint(0, 10, (3,), dtype='int')
b = np.random.randint(0, 10, (3,), dtype='int')
c = np.random.randint(0, 10, (3,), dtype='int')
np.savez('test.npz', file1 = a, file2 =b, file3 = c)    #压缩存储数组,并给数组分别命名

运行结果:

在这里插入图片描述
在这里插入图片描述

代码3

import numpy as np

"""使用load()方法导入保存的npz文件"""
data = np.load('test.npz')
print(data.files)
aa = data[data.files[0]]
bb = data[data.files[1]]
cc = data[data.files[2]]
print('read:', aa, bb, cc)

运行结果:

在这里插入图片描述

end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值