Machine learning 用给定数据集实现深度学习体系结构

Machine learning 用给定数据集实现深度学习体系结构,machine-learning,neural-network,deep-learning,caffe,protocol-buffers,Machine Learning,Neural Network,Deep Learning,Caffe,Protocol Buffers,我对咖啡馆和深度学习都是新手。我只是想实现深度学习架构。 这就是我试图实现的体系结构。体系结构和Parse27k数据集由亚琛大学视觉计算研究所的计算机视觉小组创建和构建 下面您可以看到我需要改进的模型: Train_val.txt Solver.prototxt 在实现这个架构时,我有两个主要困难 如上所述,我的模型不包括自定义损耗层。我的模型几乎是caffeNet建筑。但我应该用自定义丢失层(绿色框)替换红色框内的最后一层 我的火车数据集具有以下结构 如图所示,作物和标签中的行数(示例)相同

我对咖啡馆和深度学习都是新手。我只是想实现深度学习架构。

这就是我试图实现的体系结构。体系结构和Parse27k数据集由亚琛大学视觉计算研究所的计算机视觉小组创建和构建

下面您可以看到我需要改进的模型:

Train_val.txt

Solver.prototxt

在实现这个架构时,我有两个主要困难

  • 如上所述,我的模型不包括自定义损耗层。我的模型几乎是caffeNet建筑。但我应该用自定义丢失层(绿色框)替换红色框内的最后一层

  • 我的火车数据集具有以下结构

  • 如图所示,作物和标签中的行数(示例)相同。但是,我的标签数据集中有12列。我的模型在只有一个标签的情况下工作。我怎样才能参加所有标签的培训

    我在Train_val.prototxt中的模型目前看起来是这样的:


    任何形式的帮助或建议都将不胜感激

    如果我理解正确,您将尝试为每个输入示例预测12个离散标签(属性)。在这种情况下,您应该使用以下标签:

    layer {
      type: "Slice"
      name: "slice_labels"
      bottom: "label"
      top: "attr_00"
      top: "attr_01"
      top: "attr_02"
      top: "attr_03"
      top: "attr_04"
      top: "attr_05"
      top: "attr_06"
      top: "attr_07"
      top: "attr_08"
      top: "attr_09"
      top: "attr_10"
      top: "attr_11"
      slice_param {
        axis: -1 # slice the last dimension
        slice_point: 1
        slice_point: 2
        slice_point: 3
        slice_point: 4
        slice_point: 5
        slice_point: 6
        slice_point: 7
        slice_point: 8
        slice_point: 9
        slice_point: 10
        slice_point: 11
      }
    }
    

    现在,每个属性都有一个“标量”标签。我相信你可以从这里得到它。

    我在执行时收到这样一条错误消息F1101 14:11:12.764832 7023层。hpp:374]检查失败:ExactNumbertomBlobs()==bottom.size()(2对13)精度层将2个底部blob作为输入。我甚至尝试只发送一个属性到loss和fc8,但仍然是相同的错误。图片链接model prototxt document@MIRMIX查看您发布的模型:。正如您所见,每个属性有不同的损失(和精度)层。不能为所有属性使用单个图层。按照您尝试实施的计划工作。我得到了它,但正如我提到的,即使我尝试为一个属性执行它,它也会再次向我发送错误消息。它是否至少适用于一个标签?@MIRMIX您的模型不显示Accuracy图层。该层也仅适用于一个属性。
    fc8
    num\u输出是否与
    attr\u 00
    的离散标签(“状态”)数量相对应?请注意,每个属性应有不同的
    fc8
    层。(如果您密切关注,则每个属性需要
    fc8\u隐藏
    fc8
    层)。
    net: "models/Parse27/train_val.prototxt"
    test_iter: 1000
    test_interval: 1000
    base_lr: 0.01
    lr_policy: "step"
    gamma: 0.1
    stepsize: 100000
    display: 20
    max_iter: 450000
    momentum: 0.9
    weight_decay: 0.0005
    snapshot: 10000
    snapshot_prefix: "models/Parse27/Parse27_train"
    solver_mode: GPU
    
    crops       Dataset {27482, 3, 128, 192}
    labels      Dataset {27482, 12}
    mean        Dataset {3, 128, 192}
    pids        Dataset {27482}
    
    layer {
      type: "Slice"
      name: "slice_labels"
      bottom: "label"
      top: "attr_00"
      top: "attr_01"
      top: "attr_02"
      top: "attr_03"
      top: "attr_04"
      top: "attr_05"
      top: "attr_06"
      top: "attr_07"
      top: "attr_08"
      top: "attr_09"
      top: "attr_10"
      top: "attr_11"
      slice_param {
        axis: -1 # slice the last dimension
        slice_point: 1
        slice_point: 2
        slice_point: 3
        slice_point: 4
        slice_point: 5
        slice_point: 6
        slice_point: 7
        slice_point: 8
        slice_point: 9
        slice_point: 10
        slice_point: 11
      }
    }