(388条消息) np.memmap作用_Mingsheng Zhang的博客-CSDN博客 Python numpy.memmap用法及代码示例 - 纯净天空 (vimsky.com)
memmap文件可以用来保存embedding的一些数据。
需要注意的地方
- 写文件要先申请内存,再写数据
- 注意多种模式的区别{'r +','r','w +','c'}
# numpy 转 memmap
arry = np.random.rand(3,3)
print("numpy生成文件")
print(arry)
arry = arry.astype(np.float16)
print("float16 文件")
print(arry)
x,y = arry.shape
test_embadding = np.memmap("test_embadding.memmap", dtype=np.float16, shape=(x, y),mode='w+')
test_embadding[:] = arry[:]
print()
print("保存文件文件")
print(test_embadding)
del test_embadding # 清除缓存
# 读写文件
read_embadding = np.memmap("test_embadding.memmap", dtype=np.float16, shape=(x, y),mode='r+')
print()
print("读到的文件")
print(read_embadding)
read_embadding[0][0] =0.58
del read_embadding
# print("写过后的文件")
# print(read_embadding)
#
read_embadding = np.memmap("test_embadding.memmap", dtype=np.float16, shape=(x, y),mode='r+')
print()
print("修改后读到的文件")
print(read_embadding)
运行结果