Python 读写memmap 文件

136 阅读1分钟

(388条消息) np.memmap作用_Mingsheng Zhang的博客-CSDN博客 Python numpy.memmap用法及代码示例 - 纯净天空 (vimsky.com)

memmap文件可以用来保存embedding的一些数据。

需要注意的地方

  1. 写文件要先申请内存,再写数据
  2. 注意多种模式的区别{'r +','r','w +','c'}

image.png


# 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)

运行结果

image.png