gpt4 book ai didi

deep-learning - ImageDataLayer 和 LMDB 数据层之间的速度

转载 作者:行者123 更新时间:2023-12-04 15:09:23 29 4
gpt4 key购买 nike

Caffe 支持 LMDB 数据层和 ImageDataLayer。
从某些数据集创建 LMDB 数据库需要一些时间和大量空间。
相比之下,ImageDataLayer 只使用一个 txt 文件,非常方便。
我的问题是,这两种层之间的速度差异大吗?
非常感谢!

最佳答案

LMDB 旨在从给定的 key value 中更快地获取数据.此外,数据以未压缩的格式存储,这使得机器可以轻松读取数据并将其直接传递给GPU进行处理。

图像数据层 ,我们必须从文本文件中读取图像详细信息,并使用 OpenCV 将图像读取到内存中。图像的这种解压缩在计算上是昂贵的。

但是最好的性能可能并不总是针对 LMDB 层,它在很大程度上取决于机器的配置。考虑一个批量大小为 256 的图像和大小为 227x227x3 的图像的示例。还要考虑使用非常好的 GPU 和高端 i8 处理器机器。这里 LMDB 格式的单个图像可能会占用 151KB。整批可能占用 37MB。如果 GPU 每秒能够执行 10 个批次,那么硬盘的读取速度应该为 370MB/s。如果使用普通的SATA或者外置硬盘,由于硬盘的限制,读取这么大块的数据会出现瓶颈。

如果 caffe 无法以所需的速度获取数据,则瓶颈会减慢整个训练过程,甚至更糟。同时,如果您正在读取 256 张图像并使用 OpenCV 的多核版本,则可能比读取 LMDB 更有效地处理数据预取。

但是,如果您将 LMDB 数据存储在 SSD 上,则不会发生上述情况!

关于deep-learning - ImageDataLayer 和 LMDB 数据层之间的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35680702/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com