python - Hdf5 和 pickle 比原始 csv 文件占用更多空间

标签 python tensorflow pickle hdf5 h5py

我有一个大小为 18 MB 的 csv 文件(仅包含数字数据)。当我读取它并转换为 numpy 数组并将其保存为 hdf5 格式或 pickle 时,它​​需要大约 48 MB 磁盘空间。当我们使用pickle或hdf5时,数据不应该被压缩吗?保存为 hdf5 格式以便由tensorflow使用是否更好? Csv 数据的格式为

2,3,66,184,2037,43312,0,0,9,2,0,1,8745,1,0,2,6,204,27,97
2,3,66,184,2037,43312,0,0,9,2,0,1,8745,1,0,2,6,204,27,78
2,3,66,184,2037,43312,0,0,9,2,0,1,8745,1,0,1,6,204,27,58

数据维度为310584 X 20

最佳答案

Numpy 整数数组默认为 int64 dtype 。这就是数据比原始数据占用更多空间的原因。

310584 X 20 x 8 ~= 48 MB (8 Bytes is the size for int64)

关于python - Hdf5 和 pickle 比原始 csv 文件占用更多空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38055935/

相关文章:

c# - 从ASP.NET调用的Python脚本在IIS Express中运行良好,但在本地IIS中失败

python - tf.contrib.metrics.streaming_auc 中 update_op 返回值的用途是什么

python - 检查 pickle 转储的依赖关系

Python Pickle 在 Windows 中加载时崩溃

python - Python可以 pickle lambda函数吗?

Python + Pygame; screen.fill() 崩溃窗口

python - 使用 beautifulsoup 进行网页抓取 - 导航

python - 一旦scrapy爬虫抓取了所有提供的url,如何手动停止它?

tensorflow - TensorFlow 的 MultiRnnCell 是如何工作的?

python - tensorflow : How do i find my output node in my Tensorflow trained model?