[問題] 儲存class(新增測試檔)

看板Python作者 (少北)時間9年前 (2016/11/16 13:41), 9年前編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/1
*********新增測試檔********** 下載網址: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 有稍微爬一下類似的文章,會有需要提供測試檔之類的嗎? 有需要的話我再來想要怎麼做 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.73.62 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1479274899.A.4E7.html ※ 編輯: xxi511 (140.124.73.62), 11/16/2016 13:44:05

11/16 14:17, , 1F
搭配壓縮處理方式才儲存進去,應該可以減少佔用空間
11/16 14:17, 1F

11/16 14:18, , 2F
不過你說壓縮後一樣大還真詭異
11/16 14:18, 2F

11/16 14:19, , 3F
看錯了,有壓縮結果有變小但是跑很久
11/16 14:19, 3F
沒錯跑超久的,無壓縮寫入的話在debug大約10秒,壓縮寫入的話跑了半小時還在跑 沒辦法等下去阿orz,雖然知道release和debug在速度上有差但這也差太多了 ※ 編輯: xxi511 (140.124.73.62), 11/16/2016 14:39:16 ※ 編輯: xxi511 (140.124.73.62), 11/16/2016 14:39:38 ※ 編輯: xxi511 (140.124.73.62), 11/16/2016 14:40:18

11/16 18:51, , 4F
如果都是ndarray的話,存hdf5呢?有考慮過嗎~
11/16 18:51, 4F

11/16 21:38, , 5F

11/16 21:38, , 6F
如果有測試檔的話我也想測一下XD
11/16 21:38, 6F

11/16 21:39, , 7F
關鍵字python serialize speed
11/16 21:39, 7F

11/16 21:40, , 8F
其實比較想知道 matlab 存6MB,這代表你的資料很稀疏?
11/16 21:40, 8F

11/16 21:46, , 9F
如果知道 matlab 怎麼讀寫,用python 實作就不用換格式?
11/16 21:46, 9F

11/16 23:43, , 10F
好奇+1 大小差距也太大
11/16 23:43, 10F
※ 編輯: xxi511 (140.124.73.62), 11/17/2016 12:07:24 ※ 編輯: xxi511 (140.124.73.62), 11/17/2016 12:10:47 ※ 編輯: xxi511 (140.124.73.62), 11/17/2016 12:13:54
文章代碼(AID): #1OA_6JJd (Python)
文章代碼(AID): #1OA_6JJd (Python)