0

我有一个关于 NVIDIA DIGITS 框架的问题。所以我一直在使用没有 DIGITS 的 caffe,并且到目前为止使用了 HDF5 层。在那里我可以使用多个“顶部”(data_0、data_1、data_2)输入(参见下面的代码)。所以我可以给网络提供一个以上的输入图像。但在 DIGITS 中,只有 lmdb 输入层有效。

那么是否可以创建具有多个输入图像的 lmdb 输入层?

layer {
  name: "data"
  type: "HDF5Data"
  top: "data_0"
  top: "data_1"
  top: "data_2"
  top: "label"
  hdf5_data_param {
    source: "train.txt"
    batch_size: 64
    shuffle: true
  }
}
4

1 回答 1

0

抱歉,DIGITS 不支持该功能。

由于 DIGITS 为您管理数据集,它还为您在网络中设置数据层。这样,当您想在新数据集上运行以前的网络或在磁盘上移动作业的位置时,您无需将 LMDB 路径复制并粘贴到您的网络中。这是一个为了使常见情况变得容易而牺牲灵活性的决定。

对于分类,一个 LMDB 应该有两个顶部:“数据”和“标签”。对于其他数据集类型,应该有一个具有单个“数据”顶部的 LMDB,另一个具有单个“标签”顶部的 LMDB。如果您需要更复杂的数据层设置,则需要直接使用 Caffe 或对 DIGITS 源代码进行一些更改。

DIGITS 的 HDF5 支持不是很好,因为 Caffe 的 HDF5 支持不是很好。

于 2017-02-13T19:39:57.443 回答