我有一個很大的數據集,這使我的lmdb變得龐大。對於16.000個樣本,我的數據庫已經是20 GB。但總的來說,我有800.000圖像,這將最終導致大量的數據。有沒有辦法壓縮lmdb?還是使用HDF5文件更好?我想知道有沒有人知道這個問題的最佳解決方案。在lmdb中壓縮我的數據的最佳方法是什麼?
回答
如果你在ReadImageToDatum
函數裏看io.cpp
它可以保持圖像壓縮(jpg/png)格式或原始格式。要使用壓縮格式,您可以使用cv::imencode
壓縮加載的圖像。現在您只需將數據設置爲壓縮數據並設置encoded
標誌。然後您可以將數據存儲在lmdb
中。
有各種技術可以減少輸入大小,但其中的大部分取決於您的應用程序。例如,ILSVRC-2012數據集圖像可以調整大小爲256x256像素,而不會對訓練時間或模型精度造成不良影響。這將數據從240Gb減少到40Gb。您的數據集是否會因簡單的「物理」壓縮而失去保真度?你有多少小小的數據集?
恐怕我沒有足夠的HDF5文件有足夠的知情意見。
我希望它儘可能小,儘可能快地創建。所以,我可能不得不在這兩者之間找到最佳的折衷方案。我正在嘗試在可以設置壓縮參數的時刻創建HDF5文件。但是,顯然壓縮越好,創建數據集的計算時間就越長。我有我自己的數據集的形式爲PNG。我需要將它們存儲在lmdb或hdf5或其他** caffe **接受的其他內容中。但我不能使用原始圖片本身,因爲我必須先處理它們。 4GB的原始圖像在傳輸到lmdb時會導致20GB @Prune – thigi
您忽略了我的第一個問題,並以無法衡量的「最佳平衡」替換第二個問題。這使我沒有什麼可以增加討論。 – Prune
那麼,我的數據集已經被壓縮了。問題是我如何存儲壓縮的數據集。當我使用lmdb時,我之前壓縮的數據集變得更大,因爲lmdb不使用任何類型的壓縮。因此,我對你的問題有點困惑。 @Prune – thigi
- 1. 什麼是數據轉儲的最佳壓縮算法
- 2. 用PHP複製和壓縮的最佳方法是什麼?
- 3. 什麼是UPX的最佳壓縮方法
- 4. 通過壓縮JSON來減少數據消耗的最佳方法是什麼?
- 5. 增加數字的最佳壓縮算法是什麼?
- 6. 在IDL中處理Unix壓縮文件(.Z)的最佳方法是什麼?
- 7. 什麼是在PHP中生成這種壓縮數組的最佳方式?
- 8. 什麼是壓縮日期的最佳方式?
- 9. Java/XML:什麼是動態解碼/解壓縮數據流的最佳方式?
- 10. 壓縮XML的最佳方法
- 11. 壓縮.msi文件的最佳方法?
- 12. Android設備的最佳壓縮方法
- 13. 在數據庫中存儲IP的最佳方法是什麼?
- 14. 在php中連接數據庫的最佳方法是什麼?
- 15. 在mongo中驗證數據的最佳方法是什麼?
- 16. 在Perl中實現APL壓縮操作符的最佳方式是什麼?
- 17. 數據庫縮放的最佳做法是什麼?
- 18. 什麼是最好的HTML + CSS壓縮方法?
- 19. 在ADO.Net數據服務中使用.SaveChanges()方法的最佳方法是什麼?
- 20. 什麼是這種壓縮方法?
- 21. 管理數據,類或數組的最佳方法是什麼?
- 22. 什麼是存儲我的2D數據的最佳方式
- 23. 建立我的數據庫的最佳方式是什麼
- 24. 什麼是IIS的最佳GZIP壓縮設置?
- 25. 用GZip,Deflate壓縮javascript文件的最佳組件是什麼?
- 26. 我的用例最有效的位向量壓縮方法是什麼?
- 27. 在Java中縮放圖像的最佳方式是什麼?
- 28. 在ASP.NET中顯示縮略圖的最佳方式是什麼?
- 29. 在PHP中壓縮字符串的最佳方法
- 30. 什麼是縮放複雜佈局的最佳方法
您是否使用caffe的'convert_imageset'轉換圖像?如果是的話,你使用'--encoded'參數嗎? – lnman
不,我使用我自己的python代碼來做,因爲我必須改變和重塑我的數據。 @Inman – thigi
你會如何以編程方式對文件進行編碼?我做的是:'vtxn.put('{:0> 10d}'.format(in_idx),datum.SerializeToString())''。但我認爲不可能「壓縮」SerializeToString()方法? @Inman – thigi