mxnet由resnet换向alexnet时候出现问题

来源:互联网 发布:免费的网络推手 编辑:程序博客网 时间:2024/05/06 13:44

调试参数解决:

import mxnet as mxdef get_symbol(num_classes, **kwargs):    input_data = mx.symbol.Variable(name="data")    # stage 1    conv1 = mx.symbol.Convolution(        data=input_data, kernel=(11, 11), stride=(2, 2), num_filter=96)    relu1 = mx.symbol.Activation(data=conv1, act_type="relu")    pool1 = mx.symbol.Pooling(        data=relu1, pool_type="max", kernel=(3, 3), stride=(2,2))    lrn1 = mx.symbol.LRN(data=pool1, alpha=0.0001, beta=0.75, knorm=1, nsize=5)    # stage 2    conv2 = mx.symbol.Convolution(        data=lrn1, kernel=(5, 5), pad=(2, 2), num_filter=256)    relu2 = mx.symbol.Activation(data=conv2, act_type="relu")    pool2 = mx.symbol.Pooling(data=relu2, kernel=(3, 3), stride=(2, 2), pool_type="max")    lrn2 = mx.symbol.LRN(data=pool2, alpha=0.0001, beta=0.75, knorm=1, nsize=5)    # stage 3    conv3 = mx.symbol.Convolution(        data=lrn2, kernel=(1, 1), pad=(1, 1), num_filter=384)   #参数调小了,原来为3    relu3 = mx.symbol.Activation(data=conv3, act_type="relu")    conv4 = mx.symbol.Convolution(        data=relu3, kernel=(1, 1), pad=(1, 1), num_filter=384)  #参数调小了,原来为3    relu4 = mx.symbol.Activation(data=conv4, act_type="relu")    conv5 = mx.symbol.Convolution(        data=relu4, kernel=(1, 1), pad=(1, 1), num_filter=256)  #参数调小了,原来为3    relu5 = mx.symbol.Activation(data=conv5, act_type="relu")    pool3 = mx.symbol.Pooling(data=relu5, kernel=(3, 3), stride=(2, 2), pool_type="max")    # stage 4    flatten = mx.symbol.Flatten(data=pool3)    fc1 = mx.symbol.FullyConnected(data=flatten, num_hidden=4096)    relu6 = mx.symbol.Activation(data=fc1, act_type="relu")    dropout1 = mx.symbol.Dropout(data=relu6, p=0.5)    # stage 5    fc2 = mx.symbol.FullyConnected(data=dropout1, num_hidden=4096)    relu7 = mx.symbol.Activation(data=fc2, act_type="relu")    dropout2 = mx.symbol.Dropout(data=relu7, p=0.5)    # stage 6    fc3 = mx.symbol.FullyConnected(data=dropout2, num_hidden=num_classes)    softmax = mx.symbol.SoftmaxOutput(data=fc3, name='softmax')    return softmax
调整以后训练结果不一定好,只是为了找寻换模型不通过的原因才调试

0 0
原创粉丝点击