mxnet record 扩展
两场比赛下来,发现总是在迭代器的地方卡住,对数据编码问题印象深刻,recordio只能支持引索号读写(虽然源程序中有type
的接口,然而并不能支持str
),也不支持append操作。
对其进行了扩展。
主要思路:
- 用一个
dict
记录str到idx的转换,用cPickle
保存dict,其文件与.idx文件类似 - 跟踪现有的数据条数,作为idx
- 执行
append
操作时,先建立一个临时.rec,将原有数据拷贝,再删除原有文件,最终的写操作结束后再将临时文件重命名回去
程序在此
Note
__del__
是折构函数- 自带例子。