python tensorflow验证码识别_基于TensorFlow识别Captcha库验证码图文教程

name: "ResNet-18"

layer {

name: "data"

type: "Data"

top: "data"

top: "label"

include {

phase: TRAIN

}

transform_param {

mirror: true

crop_size: 224

mean_value: 104

mean_value: 117

mean_value: 123

}

data_param {

source: ""

batch_size: 100

}

input_param {

shape: {

dim: 10

dim: 3

dim: 224

dim: 224

}

}

}

layer {

name: "data"

type: "Data"

top: "data"

top: "label"

include {

phase: TEST

}

transform_param {

mirror: false

crop_size: 224

mean_value: 104

mean_value: 117

mean_value: 123

}

data_param {

source: ""

batch_size: 50

}

}

layer {

bottom: "data"

top: "conv1"

name: "conv1"

type: "Convolution"

convolution_param {

num_output: 64

kernel_size: 7

pad: 3

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "conv1"

top: "conv1"

name: "bn_conv1"

type: "BatchNorm"

}

layer {

bottom: "conv1"

top: "conv1"

name: "scale_conv1"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "conv1"

top: "conv1"

name: "conv1_relu"

type: "ReLU"

}

layer {

bottom: "conv1"

top: "pool1"

name: "pool1"

type: "Pooling"

pooling_param {

kernel_size: 3

stride: 2

pool: MAX

}

}

layer {

bottom: "pool1"

top: "res2a_branch1"

name: "res2a_branch1"

type: "Convolution"

convolution_param {

num_output: 64

kernel_size: 1

pad: 0

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res2a_branch1"

top: "res2a_branch1"

name: "bn2a_branch1"

type: "BatchNorm"

}

layer {

bottom: "res2a_branch1"

top: "res2a_branch1"

name: "scale2a_branch1"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "pool1"

top: "res2a_branch2a"

name: "res2a_branch2a"

type: "Convolution"

convolution_param {

num_output: 64

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res2a_branch2a"

top: "res2a_branch2a"

name: "bn2a_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res2a_branch2a"

top: "res2a_branch2a"

name: "scale2a_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res2a_branch2a"

top: "res2a_branch2a"

name: "res2a_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res2a_branch2a"

top: "res2a_branch2b"

name: "res2a_branch2b"

type: "Convolution"

convolution_param {

num_output: 64

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res2a_branch2b"

top: "res2a_branch2b"

name: "bn2a_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res2a_branch2b"

top: "res2a_branch2b"

name: "scale2a_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res2a_branch1"

bottom: "res2a_branch2b"

top: "res2a"

name: "res2a"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res2a"

top: "res2a"

name: "res2a_relu"

type: "ReLU"

}

layer {

bottom: "res2a"

top: "res2b_branch2a"

name: "res2b_branch2a"

type: "Convolution"

convolution_param {

num_output: 64

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res2b_branch2a"

top: "res2b_branch2a"

name: "bn2b_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res2b_branch2a"

top: "res2b_branch2a"

name: "scale2b_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res2b_branch2a"

top: "res2b_branch2a"

name: "res2b_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res2b_branch2a"

top: "res2b_branch2b"

name: "res2b_branch2b"

type: "Convolution"

convolution_param {

num_output: 64

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res2b_branch2b"

top: "res2b_branch2b"

name: "bn2b_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res2b_branch2b"

top: "res2b_branch2b"

name: "scale2b_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res2a"

bottom: "res2b_branch2b"

top: "res2b"

name: "res2b"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res2b"

top: "res2b"

name: "res2b_relu"

type: "ReLU"

}

layer {

bottom: "res2b"

top: "res3a_branch1"

name: "res3a_branch1"

type: "Convolution"

convolution_param {

num_output: 128

kernel_size: 1

pad: 0

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res3a_branch1"

top: "res3a_branch1"

name: "bn3a_branch1"

type: "BatchNorm"

}

layer {

bottom: "res3a_branch1"

top: "res3a_branch1"

name: "scale3a_branch1"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res2b"

top: "res3a_branch2a"

name: "res3a_branch2a"

type: "Convolution"

convolution_param {

num_output: 128

kernel_size: 3

pad: 1

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res3a_branch2a"

top: "res3a_branch2a"

name: "bn3a_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res3a_branch2a"

top: "res3a_branch2a"

name: "scale3a_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res3a_branch2a"

top: "res3a_branch2a"

name: "res3a_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res3a_branch2a"

top: "res3a_branch2b"

name: "res3a_branch2b"

type: "Convolution"

convolution_param {

num_output: 128

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res3a_branch2b"

top: "res3a_branch2b"

name: "bn3a_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res3a_branch2b"

top: "res3a_branch2b"

name: "scale3a_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res3a_branch1"

bottom: "res3a_branch2b"

top: "res3a"

name: "res3a"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res3a"

top: "res3a"

name: "res3a_relu"

type: "ReLU"

}

layer {

bottom: "res3a"

top: "res3b_branch2a"

name: "res3b_branch2a"

type: "Convolution"

convolution_param {

num_output: 128

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res3b_branch2a"

top: "res3b_branch2a"

name: "bn3b_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res3b_branch2a"

top: "res3b_branch2a"

name: "scale3b_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res3b_branch2a"

top: "res3b_branch2a"

name: "res3b_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res3b_branch2a"

top: "res3b_branch2b"

name: "res3b_branch2b"

type: "Convolution"

convolution_param {

num_output: 128

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res3b_branch2b"

top: "res3b_branch2b"

name: "bn3b_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res3b_branch2b"

top: "res3b_branch2b"

name: "scale3b_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res3a"

bottom: "res3b_branch2b"

top: "res3b"

name: "res3b"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res3b"

top: "res3b"

name: "res3b_relu"

type: "ReLU"

}

layer {

bottom: "res3b"

top: "res4a_branch1"

name: "res4a_branch1"

type: "Convolution"

convolution_param {

num_output: 256

kernel_size: 1

pad: 0

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res4a_branch1"

top: "res4a_branch1"

name: "bn4a_branch1"

type: "BatchNorm"

}

layer {

bottom: "res4a_branch1"

top: "res4a_branch1"

name: "scale4a_branch1"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res3b"

top: "res4a_branch2a"

name: "res4a_branch2a"

type: "Convolution"

convolution_param {

num_output: 256

kernel_size: 3

pad: 1

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res4a_branch2a"

top: "res4a_branch2a"

name: "bn4a_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res4a_branch2a"

top: "res4a_branch2a"

name: "scale4a_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res4a_branch2a"

top: "res4a_branch2a"

name: "res4a_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res4a_branch2a"

top: "res4a_branch2b"

name: "res4a_branch2b"

type: "Convolution"

convolution_param {

num_output: 256

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res4a_branch2b"

top: "res4a_branch2b"

name: "bn4a_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res4a_branch2b"

top: "res4a_branch2b"

name: "scale4a_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res4a_branch1"

bottom: "res4a_branch2b"

top: "res4a"

name: "res4a"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res4a"

top: "res4a"

name: "res4a_relu"

type: "ReLU"

}

layer {

bottom: "res4a"

top: "res4b_branch2a"

name: "res4b_branch2a"

type: "Convolution"

convolution_param {

num_output: 256

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res4b_branch2a"

top: "res4b_branch2a"

name: "bn4b_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res4b_branch2a"

top: "res4b_branch2a"

name: "scale4b_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res4b_branch2a"

top: "res4b_branch2a"

name: "res4b_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res4b_branch2a"

top: "res4b_branch2b"

name: "res4b_branch2b"

type: "Convolution"

convolution_param {

num_output: 256

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res4b_branch2b"

top: "res4b_branch2b"

name: "bn4b_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res4b_branch2b"

top: "res4b_branch2b"

name: "scale4b_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res4a"

bottom: "res4b_branch2b"

top: "res4b"

name: "res4b"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res4b"

top: "res4b"

name: "res4b_relu"

type: "ReLU"

}

layer {

bottom: "res4b"

top: "res5a_branch1"

name: "res5a_branch1"

type: "Convolution"

convolution_param {

num_output: 512

kernel_size: 1

pad: 0

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res5a_branch1"

top: "res5a_branch1"

name: "bn5a_branch1"

type: "BatchNorm"

}

layer {

bottom: "res5a_branch1"

top: "res5a_branch1"

name: "scale5a_branch1"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res4b"

top: "res5a_branch2a"

name: "res5a_branch2a"

type: "Convolution"

convolution_param {

num_output: 512

kernel_size: 3

pad: 1

stride: 2

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res5a_branch2a"

top: "res5a_branch2a"

name: "bn5a_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res5a_branch2a"

top: "res5a_branch2a"

name: "scale5a_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res5a_branch2a"

top: "res5a_branch2a"

name: "res5a_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res5a_branch2a"

top: "res5a_branch2b"

name: "res5a_branch2b"

type: "Convolution"

convolution_param {

num_output: 512

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res5a_branch2b"

top: "res5a_branch2b"

name: "bn5a_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res5a_branch2b"

top: "res5a_branch2b"

name: "scale5a_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res5a_branch1"

bottom: "res5a_branch2b"

top: "res5a"

name: "res5a"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res5a"

top: "res5a"

name: "res5a_relu"

type: "ReLU"

}

layer {

bottom: "res5a"

top: "res5b_branch2a"

name: "res5b_branch2a"

type: "Convolution"

convolution_param {

num_output: 512

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res5b_branch2a"

top: "res5b_branch2a"

name: "bn5b_branch2a"

type: "BatchNorm"

}

layer {

bottom: "res5b_branch2a"

top: "res5b_branch2a"

name: "scale5b_branch2a"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res5b_branch2a"

top: "res5b_branch2a"

name: "res5b_branch2a_relu"

type: "ReLU"

}

layer {

bottom: "res5b_branch2a"

top: "res5b_branch2b"

name: "res5b_branch2b"

type: "Convolution"

convolution_param {

num_output: 512

kernel_size: 3

pad: 1

stride: 1

weight_filler {

type: "msra"

}

bias_term: false

}

}

layer {

bottom: "res5b_branch2b"

top: "res5b_branch2b"

name: "bn5b_branch2b"

type: "BatchNorm"

}

layer {

bottom: "res5b_branch2b"

top: "res5b_branch2b"

name: "scale5b_branch2b"

type: "Scale"

scale_param {

bias_term: true

}

}

layer {

bottom: "res5a"

bottom: "res5b_branch2b"

top: "res5b"

name: "res5b"

type: "Eltwise"

eltwise_param {

operation: SUM

}

}

layer {

bottom: "res5b"

top: "res5b"

name: "res5b_relu"

type: "ReLU"

}

layer {

bottom: "res5b"

top: "pool5"

name: "pool5"

type: "Pooling"

pooling_param {

kernel_size: 7

stride: 1

pool: AVE

}

}

###loss1

layer {

bottom: "pool5"

top: "fc10001"

name: "fc10001"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10001"

bottom: "label"

name: "loss1"

type: "SoftmaxWithLoss"

top: "loss1"

}

layer {

bottom: "fc10001"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10001"

bottom: "label"

top: "acc/top-5"

name: "acc/top-5"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

layer {

bottom: "pool5"

top: "fc10002"

name: "fc10002"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10002"

bottom: "label"

name: "loss2"

type: "SoftmaxWithLoss"

top: "loss2"

}

layer {

bottom: "fc10002"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10002"

bottom: "label"

top: "acc/top-5"

name: "acc/top-5"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

} layer {

bottom: "pool5"

top: "fc10003"

name: "fc10003"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10003"

bottom: "label"

name: "loss3"

type: "SoftmaxWithLoss"

top: "loss3"

}

layer {

bottom: "fc10003"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10003"

bottom: "label"

top: "acc/top-37"

name: "acc/top-37"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

##loss4

layer {

bottom: "pool5"

top: "fc10004"

name: "fc10004"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10004"

bottom: "label"

name: "loss4"

type: "SoftmaxWithLoss"

top: "loss4"

}

layer {

bottom: "fc10004"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10004"

bottom: "label"

top: "acc/top-5"

name: "acc/top-5"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

###loss5

layer {

bottom: "pool5"

top: "fc10005"

name: "fc10005"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10005"

bottom: "label"

name: "loss5"

type: "SoftmaxWithLoss"

top: "loss5"

}

layer {

bottom: "fc10005"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10005"

bottom: "label"

top: "acc/top-5"

name: "acc/top-5"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

###loss6

layer {

bottom: "pool5"

top: "fc10006"

name: "fc10006"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10006"

bottom: "label"

name: "loss6"

type: "SoftmaxWithLoss"

top: "loss6"

}

layer {

bottom: "fc10006"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10006"

bottom: "label"

top: "acc/top-6"

name: "acc/top-6"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

###loss7

layer {

bottom: "pool5"

top: "fc10007"

name: "fc10007"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10007"

bottom: "label"

name: "loss7"

type: "SoftmaxWithLoss"

top: "loss7"

}

layer {

bottom: "fc10007"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10007"

bottom: "label"

top: "acc/top-6"

name: "acc/top-6"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

###loss8

layer {

bottom: "pool5"

top: "fc10008"

name: "fc10008"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10008"

bottom: "label"

name: "loss8"

type: "SoftmaxWithLoss"

top: "loss8"

}

layer {

bottom: "fc10008"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10008"

bottom: "label"

top: "acc/top-6"

name: "acc/top-6"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

###loss9

layer {

bottom: "pool5"

top: "fc10009"

name: "fc10009"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc10009"

bottom: "label"

name: "loss9"

type: "SoftmaxWithLoss"

top: "loss9"

}

layer {

bottom: "fc10009"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc10009"

bottom: "label"

top: "acc/top-6"

name: "acc/top-6"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

###loss 10

layer {

bottom: "pool5"

top: "fc100010"

name: "fc100010"

type: "InnerProduct"

param {

lr_mult: 1

decay_mult: 1

}

param {

lr_mult: 2

decay_mult: 1

}

inner_product_param {

num_output: 37

weight_filler {

type: "xavier"

}

bias_filler {

type: "constant"

value: 0

}

}

}

layer {

bottom: "fc100010"

bottom: "label"

name: "loss10"

type: "SoftmaxWithLoss"

top: "loss10"

}

layer {

bottom: "fc100010"

bottom: "label"

top: "acc/top-1"

name: "acc/top-1"

type: "Accuracy"

include {

phase: TEST

}

}

layer {

bottom: "fc100010"

bottom: "label"

top: "acc/top-5"

name: "acc/top-5"

type: "Accuracy"

include {

phase: TEST

}

accuracy_param {

top_k: 37

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值