详细内容或原文请订阅后点击阅览
使用 R 训练 ImageNet
这篇文章探讨了如何使用 TensorFlow 和 R 训练大型数据集。具体来说,我们介绍了如何下载和重新分区 ImageNet,然后使用 TensorFlow 和 Apache Spark 在分布式环境中跨多个 GPU 训练 ImageNet。
来源:RStudio AI博客ImageNet(Deng 等人,2009 年)是一个按照 WordNet(Miller,1995 年)层次结构组织的图像数据库,该数据库在历史上曾用于计算机视觉基准测试和研究。然而,直到 AlexNet(Krizhevsky、Sutskever 和 Hinton,2012 年)展示了使用 GPU 上的卷积神经网络进行深度学习的效率后,计算机视觉学科才转向深度学习,以实现最先进的模型,从而彻底改变了该领域。鉴于 ImageNet 和 AlexNet 的重要性,本文介绍了使用 R 训练 ImageNet 和其他大型数据集时需要考虑的工具和技术。
ImageNet (Deng 等人,2009 年) Deng 等人2009 WordNet (Miller 1995) Miller 1995 (Krizhevsky、Sutskever 和 Hinton 2012) Krizhevsky、Sutskever 和 Hinton 2012现在,为了处理 ImageNet,我们首先必须分而治之,将数据集划分为几个可管理的子集。之后,我们将使用 AlexNet 在多个 GPU 和计算实例上训练 ImageNet。预处理 ImageNet 和分布式训练是这篇文章将介绍和讨论的两个主题,从预处理 ImageNet 开始。
分而治之 预处理 ImageNet 分布式训练预处理 ImageNet
mlverse/imagenet现在我们有了能够处理 ImageNet 的资源,我们需要找到一个地方下载 ImageNet。最简单的方法是使用 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 中使用的 ImageNet 变体,它包含大约 250GB 数据的子集,可以从许多 Kaggle 竞赛(如 ImageNet 对象定位挑战赛)轻松下载。
ImageNet 大规模视觉识别挑战赛 (ILSVRC) Kaggle ImageNet 对象定位挑战赛 pins 使用 Kaggle 板现在我们需要做的就是注册 Kaggle 板,将 ImageNet 检索为 pin,然后解压缩此文件。警告,以下代码需要您盯着进度条,可能超过一个小时。
library(pins) ( pins