随笔 - 1762  文章 - 0  评论 - 109  阅读 - 431万

np.genfromtxt读点云非常的慢,并且需要读取文件的10倍内存

issue 连接

https://github.com/numpy/numpy/issues/3477

今天使用np.genfromtxt加载一个5G不到的csv文件,把我30G内存+10Gswap都干满了还是报了out of memory.

一开始以为是open方法慢呢,原来是np.genfromtxt

一定要注意!!!!

np.genfromtxt非常的慢,并且需要读取文件的10倍内存
有问题的代码实例

with open(bin_file, 'r') as f:
    #读取5G的文件居然需要10倍大小的内存!!!!!
    csv = np.genfromtxt(f, delimiter=",", dtype='float32')
    csv = csv.reshape((count, shape_x, shape_y, shape_c))
    print(csv.shape)
    for i in range(count):
        dset[i,:,:,:] = csv[i, :,:,:]

 

 



替换方案
使用np.loadtxt

复制代码
def write_h5(file):
    print("load file ", file)
    #csv = np.genfromtxt(f, delimiter=",", dtype='float32')
    csv = np.loadtxt(file, delimiter=',')
    print("load completed! ")

    csv = csv.reshape((total_count, shape_x, shape_y, shape_c))

    h5f = h5py.File(file_name, 'w')
    print("create h5file ", file_name)
    h5f.create_dataset(name='data',  data=csv)
    print("create h5file dataset")
    h5f.close()
复制代码

 

 

————————————————
版权声明:本文为CSDN博主「安安爸Chris」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mimiduck/article/details/116954108

posted on   一杯明月  阅读(231)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2019-11-23 最远点采样
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示