예제 #1
0
os.environ["CUDA_VISIBLE_DEVICES"] = args.device
learning_rate = args.lr

train_data = cifargen(batchsize)
valid_data = cifargen(batchsize, train=False)

h = train_data.x.shape[1]
w = train_data.x.shape[2]
if train_data.x.ndim > 3:
    c = train_data.x.shape[3]
else:
    c = 1

archi = Classifier(brickname='lenet', dropouts=[0.5, 0.5], fcdropouts=[0.5])

clf = CLF(archi, height=h, width=w, colors=c, learning_rate=learning_rate, optimizer='SGD')

print(clf)

trainlvals = []
trainaccvals = []

validlvals = []
validaccvals = []

accplot = []

for e in range(epochs):

    print('EPOCH: ' + str(e + 1) + str('/') + str(epochs))
valid_data = cifargen(batchsize, train=False)

print('Y shape: ', train_data.y.shape)

h = train_data.x.shape[1]
w = train_data.x.shape[2]
if train_data.x.ndim > 3:
    c = train_data.x.shape[3]
else:
    c = 1

epochs = 1

archi = Classifier(brickname='reference')

clf = CLF(archi, height=h, width=w, colors=c, learning_rate=0.001)

print(clf)

trainlvals = []
trainaccvals = []

validlvals = []
validaccvals = []

for e in range(epochs):

    print('EPOCH: ' + str(e + 1) + str('/') + str(epochs))

    print('TRAIN')
w = 125
c = 3

archi = Classifier(brickname='reference',
                   filters=[32, 64, 128],
                   kernels=[4, 5, 6],
                   strides=[1, 1, 1],
                   dropouts=[0.1, 0.2, 0.25],
                   fc=[1024, 1024],
                   fcdropouts=[0.5, 0.5],
                   conv_activations=['relu', 'relu', 'relu'],
                   fc_activations=['relu', 'relu'],
                   end_activation='softmax',
                   output_channels=3)

clf = CLF(archi, height=h, width=w, colors=c, n_classes=3, learning_rate=lr, optimizer=opt)

print(clf)

trainlvals = []
trainaccvals = []

validlvals = []
validaccvals = []

accuracyplot = []

for e in range(epochs):

    print('EPOCH: ' + str(e + 1) + str('/') + str(epochs))
예제 #4
0
    dirname = os.path.join(logfolder, 'dependency' + str(n))

    # first of all, evaluate reference alone
    if n == 0:

        archidep = Classifier(brickname='dependency' + str(n),
                              dropouts=[0.5, 0.5],
                              fcdropouts=[0.5])
        archiref = Classifier(brickname='reference',
                              dropouts=[0.5, 0.5],
                              fcdropouts=[0.5])

        clf = CLF(archiref,
                  height=h,
                  width=w,
                  colors=c,
                  learning_rate=0.0001,
                  model_path=os.path.join(refnetwork_folder, 'model.ckpt'))

        print('SCORE REFERENCE')

        validprogressbar = tqdm(valid_data, total=valid_data.steps)

        accvals = []

        for x, y in validprogressbar:

            _, accval = clf.validate(x, y)
            accvals.append(accval)
            metrics = [('acc', numpy.mean(accvals))]
            desc = monitor(metrics, 4)
    refarchi = Classifier(brickname='reference',
                          filters=[32, 64, 128],
                          kernels=[4, 5, 6],
                          strides=[1, 1, 1],
                          dropouts=[0.1, 0.2, 0.25],
                          fc=[1024, 1024],
                          fcdropouts=[0.5, 0.5],
                          conv_activations=['relu', 'relu', 'relu'],
                          fc_activations=['relu', 'relu'],
                          end_activation='softmax',
                          output_channels=3)

    clf = CLF(refarchi,
              height=h,
              width=w,
              colors=c,
              n_classes=3,
              learning_rate=0.001,
              model_path=ref_path,
              optimizer="SGD")

    outputdir = os.path.join(experimentfolder, 'slides_prediction')

    if not os.path.isdir(outputdir):
        os.makedirs(outputdir)

    # predict slides
    predict_slides(clf, slidedir, outputdir)

    clf.close()
예제 #6
0
    c = 1

archi = VGG(brickname='kerasCNN',
            filters=[32, 64],
            kernels=[3, 3],
            strides=[1, 1],
            dropouts=[0.25, 0.25],
            thicknesses=[2, 2, 2],
            fc=[512],
            fcdropouts=[0.5],
            conv_activations=['relu', 'relu'],
            fc_activations=['relu'],
            end_activation='softmax',
            output_channels=10)

clf = CLF(archi, height=h, width=w, colors=c, learning_rate=0.01, optimizer='SGD', model_path=modelpath)

print(clf)

trainlvals = []
trainaccvals = []

validlvals = []
validaccvals = []

accplot = []

for e in range(epochs):

    print('EPOCH: ' + str(e + 1) + str('/') + str(epochs))
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = args.device

# load dataset (CIFAR10 here)
# ---------------------------
xtrain, ytrain, xtest, ytest = cifar10.load_data()
ytrain = to_categorical(ytrain, 10)
ytest = to_categorical(ytest, 10)

# load trained classifier (reference)
# -----------------------------------
# first, build architecture
refarchi = Classifier(brickname='lenet', dropouts=[0.5, 0.5], fcdropouts=[0.5])
# then, create the model
refclf = CLF(refarchi, model_path=basenet)
# predict with classifier
predref = refclf.predict(xtest)

# load trained classifier (dependency)
# ------------------------------------
# first, build architecture
deparchi = Classifier(brickname='explorer',
                      dropouts=[0.5, 0.5],
                      fcdropouts=[0.5])
# then, create the model
depclf = CLF(deparchi, model_path=depnet)
# predict with classifier
preddep = depclf.predict(xtest)

predrefclass = numpy.argmax(predref, axis=1)