【问题标题】:Extracting Features from VGG从 VGG 中提取特征
【发布时间】:2015-10-19 06:51:52
【问题描述】:

我想使用微调的 VGG-19 网络从 MS COCO 数据集中的图像中提取特征。

但是,每张图像大约需要 6~7 秒,每 1k 图像大约需要 2 小时。 (其他微调模型甚至更长)

MS COCO 数据集中有 12 万张图像,因此至少需要 10 天。

有什么方法可以加快特征提取过程?

【问题讨论】:

  • 使用 CPU_Only 和多核处理,单个图像平均需要 0.7~1.2 秒(预取可以加快处理速度)秒。没有办法减少计算时间,因为这是 GPU 完成自己使命的地方。
  • @Shai 我不确定如何启用 gpu 进行特征提取,因为它是通过命令完成的:./build/tools/extract_features.bin caffemodel-file prototxt-file fc7 dest_dir #batch lmdb 有没有办法在命令上启用 gpu?
  • @Saeed 是否可以仅使用命令?

标签: computer-vision neural-network caffe


【解决方案1】:

嗯,这不仅仅是一个命令。首先,您必须检查您的 GPU 是否强大到足以应对深度 CNN。了解您的 GPU 型号可以回答这个问题。

其次,您必须在 Makefile.config(或 CMakeLists.txt)中编译和构建启用 CUDA 和 GPU(禁用 CPU_Only)的 Caffe 框架。

通过所有必需的步骤(安装 Nvidia 驱动程序、安装 CUDA 等),您可以构建供 GPU 使用的 caffe。然后通过在命令行中传递 GPU_Device_ID,您可以从它们提供的速度中受益。

关注 this 链接以使用 GPU 构建 Caffe。

希望对你有帮助

【讨论】:

  • 非常感谢!您能否让我知道如何找到 GPU_Device_ID 以及如何将其插入命令行? (哪个选项等)
  • @ytrewq 这取决于你的机器上有多少 GPU。如果只有一个 GPU,它的 ID 只是 0。对于特征提取.bin,您只需将“GPU 0”放在命令的末尾。但是,请查看 Caffe 网页上的文档。我认为“-gpu 0”也是有效的。请检查一下。
  • 再次感谢您!我不确定我是否应该将此作为另一个问题提出,但多核处理是否也可以通过命令执行?
  • @ytrewq 不,在使用多核处理时,您无需在命令行中执行任何操作。你只需要在 MakeFile.config 中启用 openBlas
【解决方案2】:

这个 ipython 笔记本示例很好地解释了从任何 caffe 模型中提取特征的步骤:https://github.com/BVLC/caffe/blob/master/examples/00-classification.ipynb

在pycaffe中,你可以简单地使用caffe.set_mode_gpu()来设置gpu模式。

【讨论】:

    猜你喜欢
    • 2016-12-05
    • 2016-11-10
    • 2022-12-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2021-06-23
    • 2016-12-13
    • 2016-10-11
    相关资源
    最近更新 更多