tensorflow - 使用 Google ML 引擎和 Google Storage 存储大量图像进行训练的最佳实践

标签 tensorflow google-cloud-storage google-cloud-ml

我正在使用 Google 机器学习引擎和 Google 存储在 TensorFlow 中训练 SSD 模型。在TF的object detection example ,他们将所有图像放入一个大的 TFRecord 文件中。然而,在该方案中,如果要通过选择所有图像的子集来组装不同的训练集,则给定图像将被存储多次,对于该图像所属的每个训练集一次。

另一种方法是将每个图像存储为单独的文件,并使用一个简单的 URL 列表来指示图像在各种数据集中的成员资格。但是,根据我的经验,Google Storage 并未针对读取大量小文件进行优化,这导致训练吞吐量较低。

我想看看是否有其他方法可以避免多次保存每个图像,同时实现良好的吞吐量。

最佳答案

GCS 上的小文件确实会影响吞吐量。

一些想法:

  1. 使用 many reading threads 构建您的输入管道以保持管道充满。 (链接到 newer API)
  2. 在启动时将文件复制到本地磁盘。
  3. 在 TF 图中使用构造来过滤掉文件。

没有。 1 应该会让你走得很远。

关于tensorflow - 使用 Google ML 引擎和 Google Storage 存储大量图像进行训练的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47211723/

相关文章:

machine-learning - 为什么有些摘要没有绘制在张量板上?

python-2.7 - Caffe 到 Tensorflow(Ethereon 的 Kaffe): TypeError: Descriptors should not be created directly,,但仅从其父级检索

google-app-engine - 使用哪个区域的 Google 云服务来降低成本和延迟

google-cloud-platform - GCP(AI 平台笔记本)上的“服务器连接错误”

tensorflow - 无效参数错误 : You must feed a value for placeholder tensor Placeholder

hash - 如何在 Google Storage Transfer 上创建 tsv 文件

python-3.x - 使用Python并行下载多个GCS文件(到内存中)

tensorflow - 与本地训练相比,云训练的结果更差

python - tensorflow 检查图像在阅读器中