ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-11-23 12:35:22  阅读:136  来源: 互联网

标签:10 读点 print shape file np csv genfromtxt


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

标签:10,读点,print,shape,file,np,csv,genfromtxt
来源: https://www.cnblogs.com/yibeimingyue/p/15592638.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有