[问题] 储存class(新增测试档)

楼主: xxi511 (少北)   2016-11-16 13:41:37
*********新增测试档**********
下载网址:https://goo.gl/B753B9
我的想法是先读取gzip压过的档案,再把这个档案存成无压缩的
这样就可以用debug mode来读取无压缩版的来看内容
小弟才刚学python,写的程式可能不太好看,请多包涵
拜托大家了<(_ _)>
原版的存盘是使用matlab内建的方法,我不知道这样有没有参考价值
save(cache_file, 'roidb', '-v7.3');
https://www.mathworks.com/help/matlab/ref/save.html
*****************************
大家好
目前在把一个本来由matlab实现的专案改成用python 2.7 实现
在计算过程中需要把class存起来以后再用
上网找一下大家都推荐用cPickle
但我存出来的档案size太大了
matlab存出来的档案是6MB,但用python存出来是1.9G!!
如果只是单一档案的话还好
但过程中会存一万多个档,虽然不是每个都这么大,但这种size还满困扰的
所以想问一下有没有那种存盘速度快,出来的size又很小的方法
要存的东西roidb https://i.stack.imgur.com/SskRS.png
boxes, classes,gt, oberlap 的长度都是 2005
# 时间大约10秒 size 1.9G, debug mode
with open(cache_file + '.pkl', 'wb') as f:
pickle.dump(roidb, f, protocol=pickle.HIGHEST_PROTOCOL)
# 时间大约5分钟 size 158MB, release mode
# debug mode没等到结果,跑了半小时还在跑
with gzip.open(cache_file + '.pgz', 'wb') as f:
pickle.dump(roidb, f, protocol=pickle.HIGHEST_PROTOCOL)
其他有试过
scipy.io.savemat(debug mode),速度大约10秒但档案size一样是1.9G
hickle 速度慢(debug mode),档案超过3G
有稍微爬一下类似的文章,会有需要提供测试档之类的吗?
有需要的话我再来想要怎么做
作者: kenduest (小州)   2016-11-16 14:17:00
搭配压缩处理方式才储存进去,应该可以减少占用空间不过你说压缩后一样大还真诡异看错了,有压缩结果有变小但是跑很久
作者: benson415 (沛行)   2016-11-16 18:51:00
如果都是ndarray的话,存hdf5呢?有考虑过吗~
作者: s860134 (s860134)   2016-11-16 21:38:00
https://gist.github.com/cactus/4073643如果有测试档的话我也想测一下XD关键字python serialize speed其实比较想知道 matlab 存6MB,这代表你的资料很稀疏?如果知道 matlab 怎么读写,用python 实作就不用换格式?
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2016-11-16 23:43:00
好奇+1 大小差距也太大

Links booklink

Contact Us: admin [ a t ] ucptt.com