【原】h5py 编辑 + keras 数据生成器

 

【背景】

训练神经网络,需要大量样本数据。内存空间显然是不够的,需要考虑一些其他办法来储存和训练数据

1.网络框架用的是keras,keras正好 有 fit_generator,所以只用写一个迭代器就可以用于大量数据的训练

2.剩下的就是数据的储存和持久化。keras自带HDF5Matrix,但是这个比较残,貌似只支持读。

还能用的就是h5py了,第三方库。

【h5py】

h5py的一些基本操作就不说了,比如新建group、dataset的相关文章挺多的。

但是,由于需求特殊,样本不是一次采集完成。

只能一点一点的更新,因此需要分步来写。

在csdn上看到一种方法是先a)读出旧的;b)删除旧的;c)写入旧+新

显然,对于这种方法是不屑的。

快要放弃h5py的时候,查stackoverflow。发现有一种方法可以增量写【参考链接】,要点如下:

1.新建dataset时一定要指定maxshape和chunks,指定chunks需要指定shape(第二个参数)

dset = f.create_dataset('voltage284', (10**5,), maxshape=(None,),
                            dtype='i8', chunks=(10**4,))<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值