Ejemplo n.º 1
0
def gpu_init(queue):
    global gpu_id
    gpu_id = queue.get()
    os.environ["CUDA_VISIBLE_DEVICES"] = str(gpu_id)

    import tensorflow as tf

    from tensorflow.python.client import device_lib
    local_device_protos = device_lib.list_local_devices()
    gpu_list = [x.name for x in local_device_protos if x.device_type == 'GPU']
    process = multiprocessing.current_process()
    print(gpu_id, process.pid, gpu_list)

    global volume_model
    import net
    volume_model = net.model3d((64, 64, 64),
                               sz=config.feature_sz,
                               alpha=config.feature_alpha,
                               do_features=True)
    volume_model.load_weights(weights_file)
Ejemplo n.º 2
0
    for n in range(num_test_volumes):
        test_result = volume_model.predict(test_volumes[n:n+1], batch_size=1)[:,:,:,0]
        test_p = net.sigmoid_activations(test_result)
        fpr = np.count_nonzero(test_p[0,:,:,:] > p_threshold) / test_volumes[n].size
        fpr_list.append(fpr)
        fpr90 = np.count_nonzero(test_p[0,:,:,:] > 0.880797) / test_volumes[n].size
        fpr90_list.append(fpr90)
    
    return np.mean(fpr_list), np.mean(fpr90_list), p_threshold, fpr_list, fpr90_list, p_list


history = {'loss':[], 'acc':[], 'fpr':[], 'p_threshold':[], 'p_list':[]}
history['version'] = subprocess.check_output('git describe --always --dirty', shell=True).decode('ascii').strip()
history['argv'] = sys.argv

model = net.model3d((16, 16, 16), sz=config.feature_sz, alpha=config.feature_alpha)
print(model.summary())
volume_model = net.model3d((64, 64, 64), sz=config.feature_sz, alpha=config.feature_alpha, do_features=True)

def get_optimizer(lr):
    if config.optimizer == 'rmsprop':
        optimizer = RMSprop(lr=lr)
    elif config.optimizer == 'adam':
        optimizer = Adam(lr=lr)
    elif config.optimizer == 'nadam':
        optimizer = Nadam(lr=lr)
    elif config.optimizer == 'sgd':
        optimizer = SGD(lr=lr, momentum=0.9, nesterov=True)
    return optimizer

model.compile(loss='binary_crossentropy', metrics=['accuracy'], optimizer=get_optimizer(config.lr))
Ejemplo n.º 3
0
                                               16:16 + 32, None]
test_nodules = datagen.preprocess(test_nodules)
if config.do_downscale:
    test_nodules = skimage.transform.downscale_local_mean(test_nodules,
                                                          (1, 2, 2, 2, 1),
                                                          clip=False)
test_y = np.concatenate((np.zeros(
    (len(X_benign_nodules_test), )), np.ones((len(X_cancer_nodules_test), ))))

history = {'loss': [], 'acc': [], 'val_loss': [], 'val_acc': []}
history['version'] = subprocess.check_output(
    'git describe --always --dirty', shell=True).decode('ascii').strip()
history['argv'] = sys.argv

model = net.model3d(config.net_input_vsize,
                    sz=config.feature_sz,
                    alpha=config.feature_alpha)
print(model.summary())


def get_optimizer(lr):
    if config.optimizer == 'rmsprop':
        optimizer = RMSprop(lr=lr)
    elif config.optimizer == 'adam':
        optimizer = Adam(lr=lr)
    elif config.optimizer == 'nadam':
        optimizer = Nadam(lr=lr)
    elif config.optimizer == 'sgd':
        optimizer = SGD(lr=lr, momentum=0.9, nesterov=True)
    return optimizer