Caffe MLP示例

时间:2019-06-04 02:54:59

标签: machine-learning caffe

我想通过做一个异或例子来学习咖啡。

我正在caffe网站上关注此link,但他们正在使用CNN。

我正在尝试按照本教程进行操作,在编译模型时遇到了麻烦。

我制作了一个prototxt文件来描述模型体系结构,我试图制作一个两层的xor网络。我的代码如下:

name: "xor_test"

layer {
  name: "data"
  type: "Data"
  transform_param {
    scale: 1
  }
  data_param {
    source: "0 0 0
             1 0 1
             0 1 1
             1 1 0"

    backend: LMDB
    batch_size: 1
  }
  top: "data"
  top: "data"
}

layer {
  name: "ip1"
  type: "InnerProduct"
  param { lr_mult: 1 }
  param { lr_mult: 2 }
  inner_product_param {
    num_output: 3
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
  bottom: "data"
  top: "ip1"
}

layer {
  name: "tanh1"
  type: "Tanh"
  bottom: "ip1"
  top: "ip1"
}

layer {
  name: "ip2"
  type: "InnerProduct"
  param { lr_mult: 1 }
  param { lr_mult: 2 }
  inner_product_param {
    num_output: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
  bottom: "ip1"
  top: "ip2"
}

layer {
  name: "tanh2"
  type: "Tanh"
  bottom: "ip2"
  top: "ip2"
}

我不知道此模型是否正确,找不到其他示例可供参考。

此后,本教程说要创建引用先前创建的文件的求解器prototxt文件。

net: "test.prototxt"
test_iter: 2
test_interval: 5
base_lr: 0.01
momentum: 0.9
weight_decay: 0.0005
lr_policy: "inv"
gamma: 0.0001
power: 0.75
display: 5
# The maximum number of iterations
max_iter: 10
# solver mode: CPU or GPU
solver_mode: CPU

由于我的输入内容不是图像,因此我不确定如何训练或测试模型。

1 个答案:

答案 0 :(得分:0)

您的输入层不正确。由于您不是将图像用作输入,而是简单的二进制矢量,因此您可以考虑使用HDF5Data层作为输入。
关于如何构造和使用此输入数据层,有一个很好的示例here