Skip to content

关于np.memmap()函数的一些理解 #2

@IAoy

Description

@IAoy

Numpy官方文档中memmap类的定义:

class numpy.memmap( filename , dtype= , mode='r+' , offset=0 , shape=None , order='C' )

其中filename代表在你的磁盘上存储的数组文件、dtype代表以何种文件类型打开这个文件、mode代表的是文件的打开方式,比如只读或者可读写等、shape表示文件中数组的维度。

memmap()函数的使用方法

例如:X = np.memmap(X_path, dtype=np.float32, mode="w+", shape=(n,m))
memmap函数将X_path路径下的文件映射到X中,以float32类型打开此文件,并且w+参数代表以可读写的形式打开此文件并且如果此文件不存在即创建该文件。此时X便是一个数据类型为float32且维度为(n,m)的数组。并且对X的修改也会对本地磁盘上的文件造成影响。

为什么使用memmap()函数?

如果一个数据文件很大,无法一次性加载到内存当中,那么memmap函数允许将本地的一个数据文件映射到python中,并且可以只访问该数据文件的一部分内容,而不需要整个读取该数据文件。这样就即使内存不够一次性打开该文件,也可以分批次读取该文件中的数据。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions