ChenYingpeng / caffe-yolov3

A real-time object detection framework of Yolov3/v4 based on caffe
473 stars 231 forks source link

KeyError: 'layer1-conv' #28

Closed doublegssc closed 4 years ago

doublegssc commented 5 years ago

hi, ChenYingPeng 我运行了你的darknet2caffe代码,然后遇到了这个错误: ------------

Traceback (most recent call last): File "darknet2caffe.py", line 429, in darknet2caffe(cfgfile, weightfile, protofile, caffemodel) File "darknet2caffe.py", line 57, in darknet2caffe start = load_conv_bn2caffe(buf, start, params[conv_layer_name], params[bn_layer_name], params[scale_layer_name]) KeyError: 'layer1-conv'

------------ 我加载的是yolov3-tiny版模型。

请问是哪里出现问题了吗?

ChenYingpeng commented 5 years ago

Hi,doublegssc, 请把你运行代码的执行命令发上来。

ChenYingpeng commented 5 years ago

你的这个darknet2caffe.py代码是我这个工程里面的么,还是我给你的链接工程里面的?

doublegssc commented 5 years ago

是你这个工程里面的。。

doublegssc commented 5 years ago

我的命令是: python3 darknet2caffe.py yolov3-tiny.cfg yolov3-tiny.weights yolov3-tiny.prototxt yolov3-tiny.caffemodel

ChenYingpeng commented 5 years ago

我需要看你的整个darknet2caffe.py的代码以及你运行错误的整个日志。

doublegssc commented 5 years ago

darknet2caffe.py的代码为: -----------------------------

The caffe module needs to be on the Python path;

we'll add it here explicitly.

caffe_root='/home/user/caffe/'

os.chdir(caffe_root)

import sys sys.path.insert(0,caffe_root+'python') import caffe import numpy as np from collections import OrderedDict from cfg import from prototxt import

def darknet2caffe(cfgfile, weightfile, protofile, caffemodel): net_info = cfg2prototxt(cfgfile) save_prototxt(net_info , protofile, region=False)

net = caffe.Net(protofile, caffe.TEST)
params = net.params

blocks = parse_cfg(cfgfile)

#Open the weights file
fp = open(weightfile, "rb")

#The first 4 values are header information 
# 1. Major version number
# 2. Minor Version Number
# 3. Subversion number 
# 4. IMages seen 
header = np.fromfile(fp, dtype = np.int32, count = 5)

#fp = open(weightfile, 'rb')
#header = np.fromfile(fp, count=5, dtype=np.int32)
#header = np.ndarray(shape=(5,),dtype='int32',buffer=fp.read(20))
#print(header)
buf = np.fromfile(fp, dtype = np.float32)
#print(buf)
fp.close()

layers = []
layer_id = 1
start = 0
for block in blocks:
    if start >= buf.size:
        break

    if block['type'] == 'net':
        continue
    elif block['type'] == 'convolutional':
        batch_normalize = int(block['batch_normalize'])
        if 'name' in block:
            conv_layer_name = block['name']
            bn_layer_name = '%s-bn' % block['name']
            scale_layer_name = '%s-scale' % block['name']
        else:
            conv_layer_name = 'layer%d-conv' % layer_id
            bn_layer_name = 'layer%d-bn' % layer_id
            scale_layer_name = 'layer%d-scale' % layer_id

        if batch_normalize:
            start = load_conv_bn2caffe(buf, start, params[conv_layer_name], params[bn_layer_name], params[scale_layer_name])
        else:
            start = load_conv2caffe(buf, start, params[conv_layer_name])
        layer_id = layer_id+1
    elif block['type'] == 'depthwise_convolutional':
        batch_normalize = int(block['batch_normalize'])
        if 'name' in block:
            conv_layer_name = block['name']
            bn_layer_name = '%s-bn' % block['name']
            scale_layer_name = '%s-scale' % block['name']
        else:
            conv_layer_name = 'layer%d-dwconv' % layer_id
            bn_layer_name = 'layer%d-bn' % layer_id
            scale_layer_name = 'layer%d-scale' % layer_id

        if batch_normalize:
            start = load_conv_bn2caffe(buf, start, params[conv_layer_name], params[bn_layer_name], params[scale_layer_name])
        else:
            start = load_conv2caffe(buf, start, params[conv_layer_name])
        layer_id = layer_id+1
    elif block['type'] == 'connected':
        if 'name' in block:
            fc_layer_name = block['name']
        else:
            fc_layer_name = 'layer%d-fc' % layer_id
        start = load_fc2caffe(buf, start, params[fc_layer_name])
        layer_id = layer_id+1
    elif block['type'] == 'maxpool':
        layer_id = layer_id+1
    elif block['type'] == 'avgpool':
        layer_id = layer_id+1
    elif block['type'] == 'region':
        layer_id = layer_id + 1
    elif block['type'] == 'route':
        layer_id = layer_id + 1
    elif block['type'] == 'shortcut':
        layer_id = layer_id + 1
    elif block['type'] == 'softmax':
        layer_id = layer_id + 1
    elif block['type'] == 'cost':
        layer_id = layer_id + 1
    elif block['type'] == 'upsample':
        layer_id = layer_id + 1
    else:
        print('unknow layer type %s ' % block['type'])
        layer_id = layer_id + 1
print('save prototxt to %s' % protofile)
save_prototxt(net_info , protofile, region=True)
print('save caffemodel to %s' % caffemodel)
net.save(caffemodel)

def load_conv2caffe(buf, start, conv_param): weight = conv_param[0].data bias = conv_param[1].data conv_param[1].data[...] = np.reshape(buf[start:start+bias.size], bias.shape); start = start + bias.size conv_param[0].data[...] = np.reshape(buf[start:start+weight.size], weight.shape); start = start + weight.size return start

def load_fc2caffe(buf, start, fc_param): weight = fc_param[0].data bias = fc_param[1].data fc_param[1].data[...] = np.reshape(buf[start:start+bias.size], bias.shape); start = start + bias.size fc_param[0].data[...] = np.reshape(buf[start:start+weight.size], weight.shape); start = start + weight.size return start

def load_conv_bn2caffe(buf, start, conv_param, bn_param, scale_param): conv_weight = conv_param[0].data running_mean = bn_param[0].data running_var = bn_param[1].data scale_weight = scale_param[0].data scale_bias = scale_param[1].data

scale_param[1].data[...] = np.reshape(buf[start:start+scale_bias.size], scale_bias.shape); start = start + scale_bias.size
#print scale_bias.size
#print scale_bias

scale_param[0].data[...] = np.reshape(buf[start:start+scale_weight.size], scale_weight.shape); start = start + scale_weight.size
#print scale_weight.size

bn_param[0].data[...] = np.reshape(buf[start:start+running_mean.size], running_mean.shape); start = start + running_mean.size
#print running_mean.size

bn_param[1].data[...] = np.reshape(buf[start:start+running_var.size], running_var.shape); start = start + running_var.size
#print running_var.size

bn_param[2].data[...] = np.array([1.0])
conv_param[0].data[...] = np.reshape(buf[start:start+conv_weight.size], conv_weight.shape); start = start + conv_weight.size
#print conv_weight.size

return start

def cfg2prototxt(cfgfile): blocks = parse_cfg(cfgfile)

prev_filters = 3
layers = []
props = OrderedDict() 
bottom = 'data'
layer_id = 1
topnames = dict()
for block in blocks:
    if block['type'] == 'net':
        props['name'] = 'Darkent2Caffe'
        props['input'] = 'data'
        props['input_dim'] = ['1']
        props['input_dim'].append(block['channels'])
        props['input_dim'].append(block['height'])
        props['input_dim'].append(block['width'])
        continue
    elif block['type'] == 'convolutional':
        conv_layer = OrderedDict()
        conv_layer['bottom'] = bottom
        if 'name' in block:
            conv_layer['top'] = block['name']
            conv_layer['name'] = block['name']
        else:
            conv_layer['top'] = 'layer%d-conv' % layer_id
            conv_layer['name'] = 'layer%d-conv' % layer_id
        conv_layer['type'] = 'Convolution'
        convolution_param = OrderedDict()
        convolution_param['num_output'] = block['filters']
        prev_filters = block['filters']
        convolution_param['kernel_size'] = block['size']
        if block['pad'] == '1':
            convolution_param['pad'] = str(int(convolution_param['kernel_size'])/2)
        convolution_param['stride'] = block['stride']
        if block['batch_normalize'] == '1':
            convolution_param['bias_term'] = 'false'
        else:
            convolution_param['bias_term'] = 'true'
        conv_layer['convolution_param'] = convolution_param
        layers.append(conv_layer)
        bottom = conv_layer['top']

        if block['batch_normalize'] == '1':
            bn_layer = OrderedDict()
            bn_layer['bottom'] = bottom
            bn_layer['top'] = bottom
            if 'name' in block:
                bn_layer['name'] = '%s-bn' % block['name']
            else:
                bn_layer['name'] = 'layer%d-bn' % layer_id
            bn_layer['type'] = 'BatchNorm'
            batch_norm_param = OrderedDict()
            batch_norm_param['use_global_stats'] = 'true'
            bn_layer['batch_norm_param'] = batch_norm_param
            layers.append(bn_layer)

            scale_layer = OrderedDict()
            scale_layer['bottom'] = bottom
            scale_layer['top'] = bottom
            if 'name' in block:
                scale_layer['name'] = '%s-scale' % block['name']
            else:
                scale_layer['name'] = 'layer%d-scale' % layer_id
            scale_layer['type'] = 'Scale'
            scale_param = OrderedDict()
            scale_param['bias_term'] = 'true'
            scale_layer['scale_param'] = scale_param
            layers.append(scale_layer)

        if block['activation'] != 'linear':
            relu_layer = OrderedDict()
            relu_layer['bottom'] = bottom
            relu_layer['top'] = bottom
            if 'name' in block:
                relu_layer['name'] = '%s-act' % block['name']
            else:
                relu_layer['name'] = 'layer%d-act' % layer_id
            relu_layer['type'] = 'ReLU'
            if block['activation'] == 'leaky':
                relu_param = OrderedDict()
                relu_param['negative_slope'] = '0.1'
                relu_layer['relu_param'] = relu_param
            layers.append(relu_layer)
        topnames[layer_id] = bottom
        layer_id = layer_id+1
    elif block['type'] == 'depthwise_convolutional':
        conv_layer = OrderedDict()
        conv_layer['bottom'] = bottom
        if 'name' in block:
            conv_layer['top'] = block['name']
            conv_layer['name'] = block['name']
        else:
            conv_layer['top'] = 'layer%d-dwconv' % layer_id
            conv_layer['name'] = 'layer%d-dwconv' % layer_id
        conv_layer['type'] = 'ConvolutionDepthwise'
        convolution_param = OrderedDict()
        convolution_param['num_output'] = prev_filters
        convolution_param['kernel_size'] = block['size']
        if block['pad'] == '1':
            convolution_param['pad'] = str(int(convolution_param['kernel_size'])/2)
        convolution_param['stride'] = block['stride']
        if block['batch_normalize'] == '1':
            convolution_param['bias_term'] = 'false'
        else:
            convolution_param['bias_term'] = 'true'
        conv_layer['convolution_param'] = convolution_param
        layers.append(conv_layer)
        bottom = conv_layer['top']

        if block['batch_normalize'] == '1':
            bn_layer = OrderedDict()
            bn_layer['bottom'] = bottom
            bn_layer['top'] = bottom
            if 'name' in block:
                bn_layer['name'] = '%s-bn' % block['name']
            else:
                bn_layer['name'] = 'layer%d-bn' % layer_id
            bn_layer['type'] = 'BatchNorm'
            batch_norm_param = OrderedDict()
            batch_norm_param['use_global_stats'] = 'true'
            bn_layer['batch_norm_param'] = batch_norm_param
            layers.append(bn_layer)

            scale_layer = OrderedDict()
            scale_layer['bottom'] = bottom
            scale_layer['top'] = bottom
            if 'name' in block:
                scale_layer['name'] = '%s-scale' % block['name']
            else:
                scale_layer['name'] = 'layer%d-scale' % layer_id
            scale_layer['type'] = 'Scale'
            scale_param = OrderedDict()
            scale_param['bias_term'] = 'true'
            scale_layer['scale_param'] = scale_param
            layers.append(scale_layer)

        if block['activation'] != 'linear':
            relu_layer = OrderedDict()
            relu_layer['bottom'] = bottom
            relu_layer['top'] = bottom
            if 'name' in block:
                relu_layer['name'] = '%s-act' % block['name']
            else:
                relu_layer['name'] = 'layer%d-act' % layer_id
            relu_layer['type'] = 'ReLU'
            if block['activation'] == 'leaky':
                relu_param = OrderedDict()
                relu_param['negative_slope'] = '0.1'
                relu_layer['relu_param'] = relu_param
            layers.append(relu_layer)
        topnames[layer_id] = bottom
        layer_id = layer_id+1
    elif block['type'] == 'maxpool':
        max_layer = OrderedDict()
        max_layer['bottom'] = bottom
        if 'name' in block:
            max_layer['top'] = block['name']
            max_layer['name'] = block['name']
        else:
            max_layer['top'] = 'layer%d-maxpool' % layer_id
            max_layer['name'] = 'layer%d-maxpool' % layer_id
        max_layer['type'] = 'Pooling'
        pooling_param = OrderedDict()
        pooling_param['stride'] = block['stride']
        pooling_param['pool'] = 'MAX'
        if (int(block['size']) - int(block['stride'])) % 2 == 0:
            pooling_param['kernel_size'] = block['size']
            pooling_param['pad'] = str((int(block['size'])-1)/2)

        if (int(block['size']) - int(block['stride'])) % 2 == 1:
            pooling_param['kernel_size'] = str(int(block['size']) + 1)
            pooling_param['pad'] = str((int(block['size']) + 1)/2)

        max_layer['pooling_param'] = pooling_param
        layers.append(max_layer)
        bottom = max_layer['top']
        topnames[layer_id] = bottom
        layer_id = layer_id+1
    elif block['type'] == 'avgpool':
        avg_layer = OrderedDict()
        avg_layer['bottom'] = bottom
        if 'name' in block:
            avg_layer['top'] = block['name']
            avg_layer['name'] = block['name']
        else:
            avg_layer['top'] = 'layer%d-avgpool' % layer_id
            avg_layer['name'] = 'layer%d-avgpool' % layer_id
        avg_layer['type'] = 'Pooling'
        pooling_param = OrderedDict()
        pooling_param['kernel_size'] = 7
        pooling_param['stride'] = 1
        pooling_param['pool'] = 'AVE'
        avg_layer['pooling_param'] = pooling_param
        layers.append(avg_layer)
        bottom = avg_layer['top']
        topnames[layer_id] = bottom
        layer_id = layer_id+1
    elif block['type'] == 'region':
        if True:
            region_layer = OrderedDict()
            region_layer['bottom'] = bottom
            if 'name' in block:
                region_layer['top'] = block['name']
                region_layer['name'] = block['name']
            else:
                region_layer['top'] = 'layer%d-region' % layer_id
                region_layer['name'] = 'layer%d-region' % layer_id
            region_layer['type'] = 'Region'
            region_param = OrderedDict()
            region_param['anchors'] = block['anchors'].strip()
            region_param['classes'] = block['classes']
            region_param['num'] = block['num']
            region_layer['region_param'] = region_param
            layers.append(region_layer)
            bottom = region_layer['top']
        topnames[layer_id] = bottom
        layer_id = layer_id + 1

    elif block['type'] == 'route':
        route_layer = OrderedDict()
        layer_name = str(block['layers']).split(',')
        #print(layer_name[0])
        bottom_layer_size = len(str(block['layers']).split(','))
    #print(bottom_layer_size)
        if(1 == bottom_layer_size):
            prev_layer_id = layer_id + int(block['layers'])
            bottom = topnames[prev_layer_id]
            #topnames[layer_id] = bottom
            route_layer['bottom'] = bottom
        if(2 == bottom_layer_size):
            prev_layer_id1 = layer_id + int(layer_name[0])
    #print(prev_layer_id1)
            prev_layer_id2 = int(layer_name[1]) + 1
            print(topnames)
            bottom1 = topnames[prev_layer_id1]
            bottom2 = topnames[prev_layer_id2]
            route_layer['bottom'] = [bottom1, bottom2]
        if(4 == bottom_layer_size):
            prev_layer_id1 = layer_id + int(layer_name[0])
            prev_layer_id2 = layer_id + int(layer_name[1])
            prev_layer_id3 = layer_id + int(layer_name[2])
            prev_layer_id4 = layer_id + int(layer_name[3])

            bottom1 = topnames[prev_layer_id1]
            bottom2 = topnames[prev_layer_id2]
            bottom3 = topnames[prev_layer_id3]
            bottom4 = topnames[prev_layer_id4]
            route_layer['bottom'] = [bottom1, bottom2,bottom3,bottom4]
        if 'name' in block:
            route_layer['top'] = block['name']
            route_layer['name'] = block['name']
        else:
            route_layer['top'] = 'layer%d-route' % layer_id
            route_layer['name'] = 'layer%d-route' % layer_id
        route_layer['type'] = 'Concat'
        print(route_layer)
        layers.append(route_layer)
        bottom = route_layer['top']
        print(layer_id)
        topnames[layer_id] = bottom
        layer_id = layer_id + 1

    elif block['type'] == 'upsample':
        upsample_layer = OrderedDict()
        print(block['stride'])
        upsample_layer['bottom'] = bottom
        if 'name' in block:
            upsample_layer['top'] = block['name']
            upsample_layer['name'] = block['name']
        else:
            upsample_layer['top'] = 'layer%d-upsample' % layer_id
            upsample_layer['name'] = 'layer%d-upsample' % layer_id
        upsample_layer['type'] = 'Upsample'
        upsample_param = OrderedDict()
        upsample_param['scale'] = block['stride']
        upsample_layer['upsample_param'] = upsample_param
        print(upsample_layer)
        layers.append(upsample_layer)
        bottom = upsample_layer['top']
        print('upsample:',layer_id)
        topnames[layer_id] = bottom
        layer_id = layer_id + 1

    elif block['type'] == 'shortcut':
        prev_layer_id1 = layer_id + int(block['from'])
        prev_layer_id2 = layer_id - 1
        bottom1 = topnames[prev_layer_id1]
        bottom2= topnames[prev_layer_id2]
        shortcut_layer = OrderedDict()
        shortcut_layer['bottom'] = [bottom1, bottom2]
        if 'name' in block:
            shortcut_layer['top'] = block['name']
            shortcut_layer['name'] = block['name']
        else:
            shortcut_layer['top'] = 'layer%d-shortcut' % layer_id
            shortcut_layer['name'] = 'layer%d-shortcut' % layer_id
        shortcut_layer['type'] = 'Eltwise'
        eltwise_param = OrderedDict()
        eltwise_param['operation'] = 'SUM'
        shortcut_layer['eltwise_param'] = eltwise_param
        layers.append(shortcut_layer)
        bottom = shortcut_layer['top']

        if block['activation'] != 'linear':
            relu_layer = OrderedDict()
            relu_layer['bottom'] = bottom
            relu_layer['top'] = bottom
            if 'name' in block:
                relu_layer['name'] = '%s-act' % block['name']
            else:
                relu_layer['name'] = 'layer%d-act' % layer_id
            relu_layer['type'] = 'ReLU'
            if block['activation'] == 'leaky':
                relu_param = OrderedDict()
                relu_param['negative_slope'] = '0.1'
                relu_layer['relu_param'] = relu_param
            layers.append(relu_layer)
        topnames[layer_id] = bottom
        layer_id = layer_id + 1           

    elif block['type'] == 'connected':
        fc_layer = OrderedDict()
        fc_layer['bottom'] = bottom
        if 'name' in block:
            fc_layer['top'] = block['name']
            fc_layer['name'] = block['name']
        else:
            fc_layer['top'] = 'layer%d-fc' % layer_id
            fc_layer['name'] = 'layer%d-fc' % layer_id
        fc_layer['type'] = 'InnerProduct'
        fc_param = OrderedDict()
        fc_param['num_output'] = int(block['output'])
        fc_layer['inner_product_param'] = fc_param
        layers.append(fc_layer)
        bottom = fc_layer['top']

        if block['activation'] != 'linear':
            relu_layer = OrderedDict()
            relu_layer['bottom'] = bottom
            relu_layer['top'] = bottom
            if 'name' in block:
                relu_layer['name'] = '%s-act' % block['name']
            else:
                relu_layer['name'] = 'layer%d-act' % layer_id
            relu_layer['type'] = 'ReLU'
            if block['activation'] == 'leaky':
                relu_param = OrderedDict()
                relu_param['negative_slope'] = '0.1'
                relu_layer['relu_param'] = relu_param
            layers.append(relu_layer)
        topnames[layer_id] = bottom
        layer_id = layer_id+1
    else:
        print('unknow layer type %s ' % block['type'])
        topnames[layer_id] = bottom
        layer_id = layer_id + 1

net_info = OrderedDict()
net_info['props'] = props
net_info['layers'] = layers
return net_info

if name == 'main': import sys if len(sys.argv) != 5: print('try:') print('python darknet2caffe.py tiny-yolo-voc.cfg tiny-yolo-voc.weights tiny-yolo-voc.prototxt tiny-yolo-voc.caffemodel') print('') print('please add name field for each block to avoid generated name') exit()

cfgfile = sys.argv[1]
#net_info = cfg2prototxt(cfgfile)
#print_prototxt(net_info)
#save_prototxt(net_info, 'tmp.prototxt')
weightfile = sys.argv[2]
protofile = sys.argv[3]
caffemodel = sys.argv[4]
darknet2caffe(cfgfile, weightfile, protofile, caffemodel)

------------------------------------

运行错误的整个日志为:

------------------------------------ unknow layer type yolo OrderedDict([('bottom', 'layer16-conv'), ('top', 'layer20-route'), ('name', 'layer20-route'), ('type', 'Concat')]) 20 2 OrderedDict([('bottom', 'layer21-conv'), ('top', 'layer22-upsample'), ('name', 'layer22-upsample'), ('type', 'Upsample'), ('upsample_param', OrderedDict([('scale', '2')]))]) upsample: 22 {1: 'layer1-conv', 2: 'layer2-maxpool', 3: 'layer3-conv', 4: 'layer4-maxpool', 5: 'layer5-conv', 6: 'layer6-maxpool', 7: 'layer7-conv', 8: 'layer8-maxpool', 9: 'layer9-conv', 10: 'layer10-conv', 11: 'layer11-conv', 12: 'layer12-maxpool', 13: 'layer13-conv', 14: 'layer14-maxpool', 15: 'layer15-conv', 16: 'layer16-conv', 17: 'layer17-conv', 18: 'layer18-conv', 19: 'layer18-conv', 20: 'layer20-route', 21: 'layer21-conv', 22: 'layer22-upsample'} OrderedDict([('bottom', ['layer22-upsample', 'layer9-conv']), ('top', 'layer23-route'), ('name', 'layer23-route'), ('type', 'Concat')]) 23 unknow layer type yolo

<_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "Darkent2Caffe" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> input: "data" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> input_dim: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> input_dim: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> input_dim: 416 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> input_dim: 416 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "data" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 16 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer1-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer1-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer1-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer1-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer2-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer2-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Pooling" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pooling_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pool: MAX <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer2-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 32 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer3-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer3-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer3-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer3-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer4-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer4-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Pooling" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pooling_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pool: MAX <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer4-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 64 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer5-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer5-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer5-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer5-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer6-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer6-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Pooling" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pooling_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pool: MAX <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer6-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 128 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer7-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer7-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer7-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer7-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer8-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer8-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Pooling" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pooling_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pool: MAX <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer8-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 256 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer9-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer9-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer9-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 128 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer10-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer10-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer10-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer10-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 256 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer11-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer11-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer11-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer11-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer12-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer12-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Pooling" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pooling_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pool: MAX <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer12-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 512 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer13-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer13-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer13-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer13-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer14-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer14-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Pooling" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pooling_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pool: MAX <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer14-maxpool" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 1024 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer15-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer15-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer15-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer15-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 256 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer16-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer16-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer16-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 512 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer17-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer17-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer17-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer17-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer18-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer18-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 36 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer16-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer20-route" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer20-route" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Concat" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer20-route" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 128 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer21-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer21-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer21-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer21-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer22-upsample" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer22-upsample" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Upsample" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> upsample_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale: 2 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer22-upsample" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer9-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer23-route" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer23-route" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Concat" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer23-route" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 256 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 3 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 1.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: false <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer24-bn" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "BatchNorm" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> batch_norm_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> use_global_stats: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer24-scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Scale" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> scale_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer24-act" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "ReLU" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> relu_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> negative_slope: 0.1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> layer { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bottom: "layer24-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> top: "layer25-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> name: "layer25-conv" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> type: "Convolution" <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> convolution_param { <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> num_output: 36 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> kernel_size: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> pad: 0.5 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> stride: 1 <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> bias_term: true <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } <_io.TextIOWrapper name='yolov3-tiny.prototxt' mode='w' encoding='UTF-8'> } WARNING: Logging before InitGoogleLogging() is written to STDERR E0226 10:36:33.943483 7464 common.cpp:114] Cannot create Cublas handle. Cublas won't be available. I0226 10:36:33.947749 7464 net.cpp:51] Initializing net from parameters: state { phase: TEST level: 0 } I0226 10:36:33.947772 7464 net.cpp:255] Network initialization done. Traceback (most recent call last): File "yolov3_darknet2caffe.py", line 534, in darknet2caffe(cfgfile, weightfile, protofile, caffemodel) File "yolov3_darknet2caffe.py", line 61, in darknet2caffe start = load_conv_bn2caffe(buf, start, params[conv_layer_name], params[bn_layer_name], params[scale_layer_name]) KeyError: 'layer1-conv' ----------------------------------------------
ChenYingpeng commented 5 years ago

看上去是你的文件格式有问题,转换上是没问题的,你检查一下你的python。看一下为什么你生成prototxt里面pad的值还有0.5这种参数,在我的理解是这个参数都是int的。多多baidu和google一下吧!

doublegssc commented 5 years ago

好的。。我用的python3.5,Ubuntu16.04。。python只能使用python2吗?还是python3也可以?

ChenYingpeng commented 5 years ago

应该是可以的,我没用python3。我这个代码用的是python2.7 + caffe + pytorch0.4的环境。

doublegssc commented 5 years ago

好的。。谢谢您,我再看一下。。

ddkkevin commented 5 years ago

在python3环境下,需要修改convolution_param['pad'] = str(int(convolution_param['kernel_size'])/2) 为 convolution_param['pad'] = str(int(int(convolution_param['kernel_size'])/2)),否则产生的PAD可能为浮点。我也觉得很奇怪,难道python2.7没有个问题吗?

engineer1109 commented 5 years ago

lz应该用了python3 我Python3也是这样 雪坑

AntoineGerardeaux commented 5 years ago

Get the same error ! With python3..

AntoineGerardeaux commented 5 years ago

Solved by setup my config with Ubuntu 16.04, cuda 8.0, Python 2.7 and pytorch 0.4.

weixiaolian21 commented 5 years ago

请问解决了吗

Ashing00 commented 5 years ago

the same issue in python 3. "需要修改convolution_param['pad'] = str(int(convolution_param['kernel_size'])/2) 为 convolution_param['pad'] = str(int(int(convolution_param['kernel_size'])/2)),否则产生的PAD可能为浮点" can not fixed the issue

weixiaolian21 commented 5 years ago

the same issue in python 3. "需要修改convolution_param['pad'] = str(int(convolution_param['kernel_size'])/2) 为 convolution_param['pad'] = str(int(int(convolution_param['kernel_size'])/2)),否则产生的PAD可能为浮点" can not fixed the issue

you can change the prototxt.py: # print >> fp, 'name: \"%s\"' % props['name'] print('name: \"%s\"' % props['name'],file = fp) change every "print" like this.

Ashing00 commented 5 years ago

hi fanhongyuan "you can change the prototxt.py: print >> fp, 'name: \"%s\"' % props['name'] print('name: \"%s\"' % props['name'],file = fp) change every "print" like this."

=========>it works, thanks.

but i meet another issue : "[libprotobuf ERROR google/protobuf/text_format.cc:298] Error parsing text-format caffe.NetParameter: 3:12: Expected integer, got: "1" WARNING: Logging before InitGoogleLogging() is written to STDERR F0807 09:11:34.854478 17666 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: yolov3_hand.prototxt Check failure stack trace: "

yolov3_hand.prototxt==>

name: "Darkent2Caffe" input: "data" input_dim: "1" input_dim: "3" input_dim: "416" input_dim: "416"

I have no idea.

weixiaolian21 commented 5 years ago

hi fanhongyuan "you can change the prototxt.py: print >> fp, 'name: "%s"' % props['name'] print('name: "%s"' % props['name'],file = fp) change every "print" like this."

=========>it works, thanks.

but i meet another issue :

"[libprotobuf ERROR google/protobuf/text_format.cc:298] Error parsing text-format caffe.NetParameter: 3:12: Expected integer, got: "1" WARNING: Logging before InitGoogleLogging() is written to STDERR F0807 09:11:34.854478 17666 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: yolov3_hand.prototxt Check failure stack trace: "

yolov3_hand.prototxt==>

name: "Darkent2Caffe"

input: "data" input_dim: "1" input_dim: "3" input_dim: "416" input_dim: "416" I have no idea.

there is something wrong with your prototxt, you should check it.

Iamlaoli commented 1 year ago

楼主我也是这样的问题问下您该如何解决呢

<_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bias_term: true <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer158-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer158-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer158-act" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "ReLU" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> relu_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> negative_slope: 0.1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer158-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "Convolution" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> convolution_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> num_output: 512 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> kernel_size: 1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> pad: 0 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> stride: 1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bias_term: false <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer159-bn" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "BatchNorm" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> batch_norm_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> use_global_stats: true <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer159-scale" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "Scale" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> scale_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bias_term: true <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer159-act" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "ReLU" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> relu_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> negative_slope: 0.1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer159-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "Convolution" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> convolution_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> num_output: 1024 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> kernel_size: 3 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> pad: 1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> stride: 1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bias_term: false <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer160-bn" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "BatchNorm" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> batch_norm_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> use_global_stats: true <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer160-scale" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "Scale" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> scale_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bias_term: true <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer160-act" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "ReLU" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> relu_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> negative_slope: 0.1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> layer { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bottom: "layer160-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> top: "layer161-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> name: "layer161-conv" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> type: "Convolution" <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> convolution_param { <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> num_output: 255 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> kernel_size: 1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> pad: 0 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> stride: 1 <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> bias_term: true <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } <_io.TextIOWrapper name='prototxt/yolov4.prototxt' mode='w' encoding='ANSI_X3.4-1968'> } WARNING: Logging before InitGoogleLogging() is written to STDERR I0817 20:51:46.393153 20524 net.cpp:53] Initializing net from parameters: state { phase: TEST level: 0 } I0817 20:51:46.393208 20524 net.cpp:257] Network initialization done. Traceback (most recent call last): File "darknet2caffe.py", line 519, in darknet2caffe(cfgfile, weightfile, protofile, caffemodel) File "darknet2caffe.py", line 61, in darknet2caffe start = load_conv_bn2caffe(buf, start, params[conv_layer_name], params[bn_layer_name], params[scale_layer_name]) KeyError: 'layer1-conv'