使用caffe训练Lenet的CSV数据

时间:2015-07-24 18:34:48

标签: python caffe kaggle

对不起,我有一个关于使用caffe用于高清数据的问题吗?我尝试使用以下步骤在Kaggle mnist csv数据上运行示例

  1. 使用h5py将其转换为h5数据。 (我使用caffe-example.py进行转换)

  2. 然后修改lenet_train_test_prototxt并训练它。我完全不知道这一步。

  3. 我在这里做的唯一改变是

    layer {
      name: "mnist"
      type: "HDF5Data"
      top: "data"
      top: "label"
      include {
        phase: TRAIN
      }
      transform_param {
        scale: 0.00390625
      }
      data_param {
        source: "data/mnist_train_h5.txt"
        batch_size: 64
      }
    }
    

    如何更改lenet_train_test_prototxt以适应数据?或者还有一些我需要更改的其他文件?错误日志是

    enF0724 18:21:11.052737 79373 hdf5_data_layer.cpp:76] Check failed: !this->layer_param_.has_transform_param() HDF5Data does not transform data.
    
    > *** Check failure stack trace: ***
    >     @     0x7fe8188bbdaa  (unknown)
    >     @     0x7fe8188bbce4  (unknown)
    >     @     0x7fe8188bb6e6  (unknown)
    >     @     0x7fe8188be687  (unknown)
    >     @     0x7fe818caec10  caffe::HDF5DataLayer<>::LayerSetUp()
    >     @     0x7fe818c520a3  caffe::Net<>::Init()
    >     @     0x7fe818c53e12  caffe::Net<>::Net()
    >     @     0x7fe818c0ba20  caffe::Solver<>::InitTrainNet()
    >     @     0x7fe818c0c9c3  caffe::Solver<>::Init()
    >     @     0x7fe818c0cb96  caffe::Solver<>::Solver()
    >     @           0x40c8f0  caffe::GetSolver<>()
    >     @           0x406541  train()
    >     @           0x404a81  main
    >     @     0x7fe817dcdec5  (unknown)
    >     @           0x40502d  (unknown)
    >     @              (nil)  (unknown) Aborted (core dumped)ter code here
    

1 个答案:

答案 0 :(得分:1)

我假设您有一个hdf5数据文件'data/mnist_train_h5.hd5'

  1. 从您收到的错误消息中可以看出,"HDF5Data"图层不支持数据转换。具体而言,您无法按图层缩放数据 因此,您希望进行的任何转换,您必须在创建'data/mnist_train_h5.hd5'期间自己应用它们。

  2. "HDF5Data"图层不接受data_param,而是hdf5_data_param,参数source指定hd5二进制文件的列表 。在您的情况下,您应该使用一行准备一个额外的文本文件'data/mnist_train_h5.txt'

  3.   

    数据/ mnist_train_h5.hd5

    此文本文件会告诉caffe阅读'data/mnist_train_h5.hd5'

    生成的图层应如下所示:

    layer {
      name: "mnist"
      type: "HDF5Data"
      top: "data"
      top: "label"
      hdf5_data_param {
        source: "data/mnist_train_h5.txt"
        batch_size: 64
      }
      include {
        phase: TRAIN
      }
    }