DIGITS使用步骤

来源:互联网 发布:java面试葵花宝典2017 编辑:程序博客网 时间:2024/05/17 07:57

1 切换到你的digits目录下

2 ./digits-devserver 启动digits

3 在浏览器上输入 http://0.0.0.0.5000/ (将其作为一个服务器)

4 制作数据库,制作模型

 

 

自己在用vgg模型时遇到的问题

  需要自定义网络(将train_val.prototxt进行修改)再下载一个预训练模型。

下面是网上搜到的修改prototxt的方法

1.去掉Data层中的transform_param中的mean_file和backend,会自动读取之前数据集里生成的,mirror和crop_size不受影响,需要就填,不需要就不填

2.改  include {

    phase: TRAIN

  }

include { stage: "train" } ,同理TEST改成val,其实这个不改好像也可以,具体可以查看自定义网络旁边的问号帮助

3.修改最后一个全连接层的numoutput(这个其实不算吧,具体根据自己的填,只是提醒下别忘了)

4.最后一个全连接层后的网络替换为(ip2为最后一个全连接层),其实就是把之前的网络里的train_val和deploy给合并了

layer {

  name: "accuracy"

  type: "Accuracy"

  bottom: "ip2"

  bottom: "label"

  top: "accuracy"

  include { stage: "val" }

}

layer {

  name: "loss"

  type: "SoftmaxWithLoss"

  bottom: "ip2"

  bottom: "label"

  top: "loss"

  exclude { stage: "deploy" }

}

layer {

  name: "softmax"

  type: "Softmax"

  bottom: "ip2"

  top: "softmax"

  include { stage: "deploy" }

 

}

还需要预训练模型(/newdisk/VGG_ILSVRC_16_layers.caffemodel  在网上下载的VGG16模型)

出现错误:ERROR:Cannot copy param 0 weights from layer 'fc8'; shape mismatch.Source param shape is 1 1 1000 4096 (4096000);target param shape is 2 4096(8192).To learn this layer's ....)   num_output 最后一层自己做了修改,将1000换成了2 造成模型出现问题,num_output是需要计算的,以后要弄清楚原理!!!

 

 

原创粉丝点击