def edit_net_params(path_src, target, path_dst):
    
    netfile_parser = pu.Parser()
    x = netfile_parser.from_net_params_file(path_src)
    
    print len(x.layer)
    count = 0
    for l in x.layer:
        if target.name == l.name:
            print l.name % "Layer %s found"
            print [name for name in dir(l) if not name.startswith('__')]
            l.data_param.batch_size = target.new_value
            count += 1
            print l
    
    return count
    
    return
    n = caffe.Net(path_src, caffe.TEST)
    
    batch_size = 10
    lmdb = 'lmdb'
    
    n = caffe.NetSpec()
    n.data, n.label = L.Data(batch_size=batch_size, backend=P.Data.LMDB, source=lmdb,
                             transform_param=dict(scale=1./255), ntop=2)
    n.conv1 = L.Convolution(n.data, kernel_size=5, num_output=20, weight_filler=dict(type='xavier'))
    n.pool1 = L.Pooling(n.conv1, kernel_size=2, stride=2, pool=P.Pooling.MAX)
    n.conv2 = L.Convolution(n.pool1, kernel_size=5, num_output=50, weight_filler=dict(type='xavier'))
    n.pool2 = L.Pooling(n.conv2, kernel_size=2, stride=2, pool=P.Pooling.MAX)
    n.ip1 = L.InnerProduct(n.pool2, num_output=500, weight_filler=dict(type='xavier'))
    n.relu1 = L.ReLU(n.ip1, in_place=True)
    n.ip2 = L.InnerProduct(n.relu1, num_output=10, weight_filler=dict(type='xavier'))
    n.loss = L.SoftmaxWithLoss(n.ip2, n.label)
    
    t = n.tops
    
    print t.keys()
    
    #print n.to_proto()
dataset/ETHPy150Open kashefy/nideep/nideep/nets/edit_proto.py/edit_net_params/swapped operands of `%`