【发布时间】:2019-03-31 08:48:34
【问题描述】:
我正在 Cloud ML Engine 中尝试使用 Keras 进行视频分类。我的数据集包含保存为单独图像的视频序列(例如 seq1_frame1.png、seq1.frame2.png...),我已上传到 GCS 存储桶。
我使用一个 csv 文件来引用不同子剪辑的结束帧的开始,以及一个将一批剪辑提供给模型的生成器。生成器负责从桶中加载帧,将它们读取为图像,并将它们连接为 numpy 数组。
我的训练时间相当长,由于大量的读取操作,我怀疑生成器是我的瓶颈。
在我在网上找到的示例中,人们通常将预先格式化的剪辑作为 tfrecords 文件直接保存到 GCS。我觉得这个解决方案对于非常大的数据集并不理想,因为它意味着复制数据,如果我们决定提取重叠的子剪辑,更是如此。
我的方法有问题吗?更重要的是,是否有使用大型视频数据集进行机器学习的“黄金标准”?
PS:我解释了我的设置以供参考,但我的问题不限于 Keras、生成器或 Cloud ML。
【问题讨论】:
标签: keras google-cloud-storage large-data google-cloud-ml