import caffe
from caffe import surgery, score

import numpy as np
import os

import setproctitle
setproctitle.setproctitle(os.path.basename(os.getcwd()))

weights = '../fcn16s-heavy-72k.caffemodel'

# init
caffe.set_device(int(sys.argv[1]))
caffe.set_mode_gpu()

solver = caffe.SGDSolver('solver.prototxt')
solver.net.copy_from(weights)

# surgeries
interp_layers = [k for k in solver.net.params.keys() if 'up' in k]
surgery.interp(solver.net, interp_layers)

# scoring
val = np.loadtxt('../data/segvalid11.txt', dtype=str)

for _ in range(25):
    solver.step(4000)
    score.seg_tests(solver, False, val, layer='score')
Beispiel #2
0
import caffe
from caffe import surgery, score

import numpy as np
import os

import setproctitle
setproctitle.setproctitle(os.path.basename(os.getcwd()))

weights = '../fcn32s-heavy-88k.caffemodel'

# init
caffe.set_device(int(sys.argv[1]))
caffe.set_mode_gpu()

solver = caffe.SGDSolver('solver.prototxt')
solver.net.copy_from(weights)

# surgeries
interp_layers = [k for k in solver.net.params.keys() if 'up' in k]
surgery.interp(solver.net, interp_layers)

# scoring
val = np.loadtxt('../data/segvalid11.txt', dtype=str)

for _ in range(25):
    solver.step(4000)
    score.seg_tests(solver, False, val, layer='score')
Beispiel #3
0
import numpy as np
import os
import cPickle as pickle

save_format = os.getcwd() + '/out_{}'

# base net
base = 'base.prototxt'
weights = 'vgg16fc.caffemodel'
base_net = caffe.Net(base, weights, caffe.TEST)

# init
caffe.set_mode_gpu()
caffe.set_device(0)

solver = caffe.SGDSolver('solver.prototxt')

# surgeries
surgery.transplant(solver.net, base_net)

interp_layers = [k for k in solver.net.params.keys() if 'up' in k]
surgery.interp(solver.net, interp_layers)

# load IDs of the TEST phase data
val = np.loadtxt('list.txt', dtype=str)

for _ in range(100):
    solver.step(1000)
    score.seg_tests(solver, save_format, val, layer='score', gt='label')
Beispiel #4
0
    # resume = False
    if restore is not None:
        solver.restore(restore)
    # elif resume:
    # solver.net.copy_from(weights)
    else:
        solver.net.copy_from(weights)  # initialize with weights

        # add bilinear upsampling weights
        interp_layers = [k for k in solver.net.params.keys() if 'up' in k]
        surgery.interp(solver.net, interp_layers)

    net = solver.net
    tnet = solver.test_nets[0]
    solver.test_nets[0].share_with(solver.net)

    LAYER_SCORE = 'score'
    LAYER_LOSS = 'loss'

    # warnings.filterwarnings("ignore")

    # scoring
    val = np.loadtxt(os.path.join(EXP_DIR, './segvalid11.txt'), dtype=str)
    for aa in range(50000):
        # if(np.mod(aa,100)==0):
        # print 'Running: %i'%aa
        if (np.mod(aa, 1000) == 0):
            print 'Evaluating: %i' % aa
            score.seg_tests(solver, save_format, val, layer=LAYER_SCORE)
        solver.step(1)
Beispiel #5
0
    # resume = False
    if restore is not None:
        solver.restore(restore)
    # elif resume:
        # solver.net.copy_from(weights)
    else: 
        solver.net.copy_from(weights) # initialize with weights

        # add bilinear upsampling weights
        interp_layers = [k for k in solver.net.params.keys() if 'up' in k]
        surgery.interp(solver.net, interp_layers)

    net = solver.net
    tnet = solver.test_nets[0]
    solver.test_nets[0].share_with(solver.net)

    LAYER_SCORE = 'score'
    LAYER_LOSS = 'loss'

    # warnings.filterwarnings("ignore")

    # scoring
    val = np.loadtxt(os.path.join(EXP_DIR,'./segvalid11.txt'), dtype=str)
    for aa in range(50000):
        # if(np.mod(aa,100)==0):
            # print 'Running: %i'%aa
        if(np.mod(aa,1000)==0):
            print 'Evaluating: %i'%aa
            score.seg_tests(solver, save_format, val, layer=LAYER_SCORE)
        solver.step(1)