def main(fnModel, fnVolIn, fnMask, sampling, fnVolOut): if fnModel=="default": fnModel= XmippScript.getModel("deepRes", "model_w13.h5") elif fnModel=="highRes": fnModel= XmippScript.getModel("deepRes", "model_w7.h5") model = load_model(fnModel) manager = VolumeManager(fnVolIn, fnMask) Y = model.predict_generator(manager, manager.getNumberOfBlocks()) if fnModel == XmippScript.getModel("deepRes", "model_w13.h5"): model = 1 if fnModel == XmippScript.getModel("deepRes", "model_w7.h5"): model = 2 return produceOutput(fnVolIn, fnMask, model, sampling, Y, fnVolOut)
def generatePerceptualLoss(image_shape): from xmipp_base import XmippScript from keras.layers import Input from keras.models import load_model, Model import keras.backend as K effectiveSize = 50000 ignoreCTF = True modelTypeDir = "keras_models/%sPhaseFlip_Invert/nnetData_%d/tfchkpoints_0" % ( "no" if ignoreCTF else "", effectiveSize) modelTypeDir = XmippScript.getModel("deepConsensus", modelTypeDir) modelFname = os.path.join(modelTypeDir, "deepModel.hdf5") def perceptual_loss(y_true, y_pred): input_tensor = Input(image_shape[:-1] + (1, )) evalModel = load_model(modelFname) targetLayer = 'activation_4' out = input_tensor for layer in evalModel.layers[1:]: # print(layer.name) out = layer(out) if layer.name == targetLayer: break loss_model = Model(inputs=input_tensor, outputs=out) loss_model.trainable = False return K.mean(K.square(loss_model(y_true) - loss_model(y_pred))) return perceptual_loss
def run(self): params = " -i %s " % self.getParam('-i') if self.checkParam('-i2'): params += " -i2 %s " % self.getParam('-i2') params += " -o %s " % self.getParam('-o') if self.checkParam('--checkpoint'): params += " --deepLearningModelPath %s " % os.path.expanduser( self.getParam("--checkpoint")) else: params += " --deepLearningModelPath %s " % XmippScript.getModel( "deepEMhancer", "production_checkpoints/deepEMhancer_tightTarget.hd5") if self.checkParam('--sampling_rate'): params += " --samplingRate %f" % self.getDoubleParam( '--sampling_rate') if self.checkParam('--binaryMask'): params += " --binaryMask %s " % (os.path.abspath( self.getParam('--binaryMask'))) elif self.checkParam('--noise_stats_mean'): params += " --noiseStats %f %f " % ( self.getDoubleParam('--noise_stats_mean'), self.getDoubleParam('--noise_stats_std')) if self.checkParam('--cleaningStrengh'): params += " --cleaningStrengh %f " % self.getDoubleParamWithDefault( '--cleaningStrengh', defaultVal=-1) params += "-g %s " % self.getParam("-g") params += "-b %s " % self.getParam("-b") cmd = "deepemhancer" print(cmd + " " + params) self.runCondaCmd(cmd, params)
def __init__(self): XmippScript.__init__(self)
def __init__(self, name): XmippScript.__init__(self) self.name = name