Example #1
0
def load_model(model_name):
    if model_name == 'deepyeast':
        from deepyeast.models import DeepYeast
        model = DeepYeast()
    elif model_name == 'resnet':
        from deepyeast.models import ResNet50
        model = ResNet50()
    elif model_name == 'mobilenet':
        from deepyeast.models import MobileNet
        model = MobileNet()
    elif model_name == 'densenet':
        from deepyeast.models import DenseNet40_BC
        model = DenseNet40_BC()
    return model
Example #2
0
            # increase lr
            lr *= self.lr_mult
            K.set_value(self.model.optimizer.lr, lr)

    def plot(self):
        plt.plot(self.lrs, self.losses)
        plt.xscale("log")
        plt.xlabel("learning rate (log scale)")
        plt.ylabel("loss")


if __name__ == "__main__":
    # set up data
    x_train, y_train = load_data("train")

    num_classes = 12
    y_train = keras.utils.to_categorical(y_train, num_classes)

    x_train = preprocess_input(x_train)

    # set up model
    model = DeepYeast()

    model.compile(loss=keras.losses.categorical_crossentropy,
                  optimizer=keras.optimizers.SGD())

    # search for lr
    lr_finder = LearningRateFinder(model)
    lr_finder.find()
    lr_finder.plot()
Example #3
0
from deepyeast.utils import preprocess_input
from deepyeast.models import DeepYeast

# set up data
x_val, y_val = load_data("val")
x_train, y_train = load_data("train")

num_classes = 12
y_val = keras.utils.to_categorical(y_val, num_classes)
y_train = keras.utils.to_categorical(y_train, num_classes)

x_train = preprocess_input(x_train)
x_val = preprocess_input(x_val)

# set up model
model = DeepYeast()

model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adam(),
              metrics=['accuracy'])

filepath = "../weights-{epoch:02d}-{val_acc:.3f}.hdf5"
checkpoint = keras.callbacks.ModelCheckpoint(filepath,
                                             monitor='val_acc',
                                             verbose=1,
                                             save_best_only=True,
                                             mode='max')
reduce_lr = keras.callbacks.ReduceLROnPlateau(monitor='val_acc',
                                              factor=0.1,
                                              patience=5,
                                              cooldown=0,
Example #4
0
import numpy as np
import keras.backend as K
from keras.layers import Activation, GlobalAveragePooling2D
from skimage import exposure
import matplotlib.pyplot as plt

from deepyeast.dataset import load_data
from deepyeast.utils import preprocess_input
from deepyeast.models import DeepYeast

### select model
model = DeepYeast()
model.load_weights("weights/deepyeast-weights-22-0.902.hdf5")


### plot image
def stretch_contrast(img):
    p2, p98 = np.percentile(img, (2, 98))
    img_rescale = exposure.rescale_intensity(img, in_range=(p2, p98))
    return img_rescale


def add_third_dimension(x):
    b_channel = np.zeros((64, 64, 1), dtype=np.uint8)
    x = np.append(x, b_channel, axis=-1)
    return x


x_val, y_val = load_data("val")

i = 0
from deepyeast.utils import preprocess_input, mixup_generator
from deepyeast.models import DeepYeast

# set up data
x_train, y_train = load_data("train")
x_val, y_val = load_data("val")

num_classes = 12
y_train = keras.utils.to_categorical(y_train, num_classes)
y_val = keras.utils.to_categorical(y_val, num_classes)

x_train = preprocess_input(x_train)
x_val = preprocess_input(x_val)

# set up model
model = DeepYeast()

model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adam(),
              metrics=['accuracy'])

filepath = "weights-{epoch:02d}-{val_acc:.3f}.hdf5"
checkpoint = keras.callbacks.ModelCheckpoint(filepath,
                                             monitor='val_acc',
                                             verbose=1,
                                             save_best_only=True,
                                             mode='max')
reduce_lr = keras.callbacks.ReduceLROnPlateau(monitor='val_acc',
                                              factor=0.1,
                                              patience=5,
                                              cooldown=0,