Python keras.backend() Examples
The following are 30
code examples of keras.backend().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
keras
, or try the search function
.
Example #1
Source File: keras_workaround.py From costar_plan with Apache License 2.0 | 6 votes |
def function_get_fetches(inputs, outputs, updates=None, **kwargs): """Instantiates a Keras function. # Arguments inputs: List of placeholder tensors. outputs: List of output tensors. updates: List of update ops. **kwargs: Passed to `tf.Session.run`. # Returns Output values as Numpy arrays. # Raises ValueError: if invalid kwargs are passed in. """ if kwargs: for key in kwargs: if not (has_arg(tf.Session.run, key, True) or has_arg(Function.__init__, key, True)): msg = 'Invalid argument "%s" passed to K.function with TensorFlow backend' % key raise ValueError(msg) return FunctionGetFetches(inputs, outputs, updates=updates, **kwargs) # _make_predict_function_get_fetches adapted from _make_predict_function() in K.backend.tensorflow_backend
Example #2
Source File: qrnn.py From typhon with MIT License | 6 votes |
def on_epoch_end(self, epoch, logs={}): self.losses += [logs.get('val_loss')] if not self.losses[-1] < self.min_loss: self.steps = self.steps + 1 else: self.steps = 0 if self.steps > self.convergence_steps: lr = keras.backend.get_value(self.model.optimizer.lr) keras.backend.set_value( self.model.optimizer.lr, lr / self.lr_decay) self.steps = 0 logger.info("\n Reduced learning rate to " + str(lr)) if lr < self.lr_minimum: self.model.stop_training = True self.min_loss = min(self.min_loss, self.losses[-1]) ################################################################################ # QRNN ################################################################################
Example #3
Source File: keras_bert_layer.py From nlp_xiaojiang with MIT License | 6 votes |
def crf_loss(y_true, y_pred): """General CRF loss function depending on the learning mode. # Arguments y_true: tensor with true targets. y_pred: tensor with predicted targets. # Returns If the CRF layer is being trained in the join mode, returns the negative log-likelihood. Otherwise returns the categorical crossentropy implemented by the underlying Keras backend. # About GitHub If you open an issue or a pull request about CRF, please add `cc @lzfelix` to notify Luiz Felix. """ crf, idx = y_pred._keras_history[:2] if crf.learn_mode == 'join': return crf_nll(y_true, y_pred) else: if crf.sparse_target: return sparse_categorical_crossentropy(y_true, y_pred) else: return categorical_crossentropy(y_true, y_pred) # crf_marginal_accuracy, crf_viterbi_accuracy
Example #4
Source File: keras_workaround.py From costar_plan with Apache License 2.0 | 6 votes |
def __call__(self, inputs): if not isinstance(inputs, (list, tuple)): raise TypeError('`inputs` should be a list or tuple.') feed_dict = self.feed_dict.copy() for tensor, value in zip(self.inputs, inputs): if is_sparse(tensor): sparse_coo = value.tocoo() indices = np.concatenate((np.expand_dims(sparse_coo.row, 1), np.expand_dims(sparse_coo.col, 1)), 1) value = (indices, sparse_coo.data, sparse_coo.shape) feed_dict[tensor] = value fetches = self.outputs + [self.updates_op] + self.fetches session = get_session() updated = session.run(fetches=fetches, feed_dict=feed_dict, **self.session_kwargs) return updated # function_get_fetches adapted from function() in K.backend.tensorflow_backend
Example #5
Source File: model.py From EasyPR-python with Apache License 2.0 | 6 votes |
def __init__(self, mode, config, model_dir): """ mode: Either "training" or "inference" config: A Sub-class of the Config class model_dir: Directory to save training logs and trained weights """ assert mode in ['training', 'inference'] if mode == 'training': import keras.backend.tensorflow_backend as KTF config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config) KTF.set_session(session) self.mode = mode self.config = config self.model_dir = model_dir self.set_log_dir() self.keras_model = self.build(mode=mode, config=config)
Example #6
Source File: base_model.py From MatchZoo with Apache License 2.0 | 6 votes |
def compile(self): """ Compile model for training. Only `keras` native metrics are compiled together with backend. MatchZoo metrics are evaluated only through :meth:`evaluate`. Notice that `keras` count `loss` as one of the metrics while MatchZoo :class:`matchzoo.engine.BaseTask` does not. Examples: >>> from matchzoo import models >>> model = models.Naive() >>> model.guess_and_fill_missing_params(verbose=0) >>> model.params['task'].metrics = ['mse', 'map'] >>> model.params['task'].metrics ['mse', mean_average_precision(0.0)] >>> model.build() >>> model.compile() """ self._backend.compile(optimizer=self._params['optimizer'], loss=self._params['task'].loss)
Example #7
Source File: test_metrics.py From keras-metrics with MIT License | 6 votes |
def assert_save_load(self, model, metrics_fns, samples_fn): metrics = [m() for m in metrics_fns] custom_objects = {m.__name__: m for m in metrics} custom_objects["sin"] = keras.backend.sin custom_objects["abs"] = keras.backend.abs x, y = samples_fn(100) model.fit(x, y, epochs=10) with tempfile.NamedTemporaryFile() as file: model.save(file.name, overwrite=True) loaded_model = keras.models.load_model( file.name, custom_objects=custom_objects) expected = model.evaluate(x, y)[1:] received = loaded_model.evaluate(x, y)[1:] self.assertEqual(expected, received)
Example #8
Source File: preresnet.py From imgclsmob with MIT License | 6 votes |
def preres_activation(x, name="preres_activation"): """ PreResNet pure pre-activation block without convolution layer. It's used by itself as the final block. Parameters: ---------- x : keras.backend tensor/variable/symbol Input tensor/variable/symbol. name : str, default 'preres_activation' Block name. Returns ------- keras.backend tensor/variable/symbol Resulted tensor/variable/symbol. """ x = batchnorm( x=x, name=name + "/bn") x = nn.Activation("relu", name=name + "/activ")(x) return x
Example #9
Source File: autogen.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split('\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #10
Source File: autogen.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split('\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #11
Source File: autogen.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split('\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #12
Source File: autogen.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split('\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #13
Source File: rnn.py From deepbgc with MIT License | 5 votes |
def recall(y_true, y_pred): """Recall metric. Only computes a batch-wise average of recall. Computes the recall, a metric for multi-label classification of how many relevant items are selected. """ import keras.backend as K true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1))) possible_positives = K.sum(K.round(K.clip(y_true, 0, 1))) recall = true_positives / (possible_positives + K.epsilon()) return recall
Example #14
Source File: __init__.py From efficientnet with Apache License 2.0 | 5 votes |
def inject_keras_modules(func): import keras @functools.wraps(func) def wrapper(*args, **kwargs): kwargs['backend'] = keras.backend kwargs['layers'] = keras.layers kwargs['models'] = keras.models kwargs['utils'] = keras.utils return func(*args, **kwargs) return wrapper
Example #15
Source File: __init__.py From efficientnet with Apache License 2.0 | 5 votes |
def inject_tfkeras_modules(func): import tensorflow.keras as tfkeras @functools.wraps(func) def wrapper(*args, **kwargs): kwargs['backend'] = tfkeras.backend kwargs['layers'] = tfkeras.layers kwargs['models'] = tfkeras.models kwargs['utils'] = tfkeras.utils return func(*args, **kwargs) return wrapper
Example #16
Source File: config.py From CSBDeep with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, axes='YX', n_channel_in=1, n_channel_out=1, allow_new_parameters=False, **kwargs): # parse and check axes axes = axes_check_and_normalize(axes) ax = axes_dict(axes) ax = {a: (ax[a] is not None) for a in ax} (ax['X'] and ax['Y']) or _raise(ValueError('lateral axes X and Y must be present.')) # not (ax['Z'] and ax['T']) or _raise(ValueError('using Z and T axes together not supported.')) axes.startswith('S') or (not ax['S']) or _raise(ValueError('sample axis S must be first.')) axes = axes.replace('S','') # remove sample axis if it exists n_dim = len(axes.replace('C','')) # TODO: Config not independent of backend. Problem? # could move things around during train/predict as an alternative... good idea? # otherwise, users can choose axes of input image anyhow, so doesn't matter if model is fixed to something else if backend_channels_last(): if ax['C']: axes[-1] == 'C' or _raise(ValueError('channel axis must be last for backend (%s).' % K.backend())) else: axes += 'C' else: if ax['C']: axes[0] == 'C' or _raise(ValueError('channel axis must be first for backend (%s).' % K.backend())) else: axes = 'C'+axes self.n_dim = n_dim self.axes = axes self.n_channel_in = int(max(1,n_channel_in)) self.n_channel_out = int(max(1,n_channel_out)) self.train_checkpoint = 'weights_best.h5' self.train_checkpoint_last = 'weights_last.h5' self.train_checkpoint_epoch = 'weights_now.h5' self.update_parameters(allow_new_parameters, **kwargs)
Example #17
Source File: rnn.py From deepbgc with MIT License | 5 votes |
def precision(y_true, y_pred): """Precision metric. Only computes a batch-wise average of precision. Computes the precision, a metric for multi-label classification of how many selected items are relevant. """ import keras.backend as K true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1))) predicted_positives = K.sum(K.round(K.clip(y_pred, 0, 1))) precision = true_positives / (predicted_positives + K.epsilon()) return precision
Example #18
Source File: denser_models.py From denser-models with GNU Lesser General Public License v3.0 | 5 votes |
def test(one_model=True): models = [] predictions = [] dataset = load_data() if one_model: for train_idx in xrange(NUM_TRAINS): print 'loading', train_idx models.append(load_model("%s/net_1/%s" % (TRAIN_DIR, TRAIN_FILENAME % train_idx), custom_objects={"backend": backend})) else: for train_idx in xrange(NUM_TRAINS*2): print 'loading', train_idx if train_idx < 5: models.append(load_model("%s/net_1/%s" % (TRAIN_DIR, TRAIN_FILENAME % train_idx), custom_objects={"backend": backend})) else: models.append(load_model("%s/net_9/%s" % (TRAIN_DIR, TRAIN_FILENAME % (train_idx-NUM_TRAINS)), custom_objects={"backend": backend})) for model in models: print 'predicting...' for _ in range(AUGMENT_TEST): x_test_augmented = np.array([augmentation(image) for image in dataset['x_test']]) predictions.append(model.predict(x_test_augmented, batch_size=BATCH_SIZE, verbose=2)) avg_prediction = np.average(predictions, axis=0) y_pred = np.argmax(avg_prediction, axis=1) y_true = np.argmax(dataset['y_test'], axis=1) accuracy = accuracy_score(y_true, y_pred) print accuracy
Example #19
Source File: autogen.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split('\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #20
Source File: keras_workaround.py From costar_plan with Apache License 2.0 | 5 votes |
def __init__(self, inputs, outputs, updates=None, name=None, **session_kwargs): updates = updates or [] if not isinstance(inputs, (list, tuple)): raise TypeError('`inputs` to a TensorFlow backend function ' 'should be a list or tuple.') if not isinstance(outputs, (list, tuple)): raise TypeError('`outputs` of a TensorFlow backend function ' 'should be a list or tuple.') if not isinstance(updates, (list, tuple)): raise TypeError('`updates` in a TensorFlow backend function ' 'should be a list or tuple.') self.inputs = list(inputs) self.outputs = list(outputs) with tf.control_dependencies(self.outputs): updates_ops = [] for update in updates: if isinstance(update, tuple): p, new_p = update updates_ops.append(tf.assign(p, new_p)) else: # assumed already an op updates_ops.append(update) self.updates_op = tf.group(*updates_ops) self.name = name # additional tensor substitutions self.feed_dict = session_kwargs.pop('feed_dict', {}) # additional operations self.fetches = session_kwargs.pop('fetches', []) if not isinstance(self.fetches, list): self.fetches = [self.fetches] self.session_kwargs = session_kwargs
Example #21
Source File: autogen.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split('\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #22
Source File: retinanet.py From keras-maskrcnn with Apache License 2.0 | 5 votes |
def default_roi_submodels(num_classes, mask_dtype=keras.backend.floatx(), retinanet_dtype=keras.backend.floatx()): return [ ('masks', default_mask_model(num_classes, mask_dtype=mask_dtype, retinanet_dtype=retinanet_dtype)), ]
Example #23
Source File: esim.py From MatchZoo with Apache License 2.0 | 5 votes |
def _expand_dim(self, inp: tf.Tensor, axis: int) -> keras.layers.Layer: """ Wrap keras.backend.expand_dims into a Lambda layer. :param inp: input tensor to expand the dimension :param axis: the axis of new dimension """ return keras.layers.Lambda(lambda x: tf.expand_dims(x, axis=axis))(inp)
Example #24
Source File: base_model.py From MatchZoo with Apache License 2.0 | 5 votes |
def load_model(dirpath: typing.Union[str, Path]) -> BaseModel: """ Load a model. The reverse function of :meth:`BaseModel.save`. :param dirpath: directory path of the saved model :return: a :class:`BaseModel` instance Example: >>> import matchzoo as mz >>> model = mz.models.Naive() >>> model.guess_and_fill_missing_params(verbose=0) >>> model.build() >>> model.save('my-model') >>> model.params.keys() == mz.load_model('my-model').params.keys() True >>> import shutil >>> shutil.rmtree('my-model') """ dirpath = Path(dirpath) params_path = dirpath.joinpath(BaseModel.PARAMS_FILENAME) weights_path = dirpath.joinpath(BaseModel.BACKEND_WEIGHTS_FILENAME) with open(params_path, mode='rb') as params_file: params = dill.load(params_file) model_instance = params['model_class'](params=params) model_instance.build() model_instance.compile() model_instance.backend.load_weights(weights_path) return model_instance
Example #25
Source File: base_model.py From MatchZoo with Apache License 2.0 | 5 votes |
def backend(self) -> keras.models.Model: """:return model backend, a keras model instance.""" if not self._backend: raise ValueError("Backend not found." "Please build the model first.") else: return self._backend
Example #26
Source File: base_model.py From MatchZoo with Apache License 2.0 | 5 votes |
def __init__( self, params: typing.Optional[ParamTable] = None, backend: typing.Optional[keras.models.Model] = None ): """Init.""" self._params = params or self.get_default_params() self._backend = backend
Example #27
Source File: keras.py From classification_models with MIT License | 5 votes |
def get_kwargs(): return { 'backend': keras.backend, 'layers': keras.layers, 'models': keras.models, 'utils': keras.utils, }
Example #28
Source File: autogen.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def post_process_signature(signature): parts = re.split(r'\.(?!\d)', signature) if len(parts) >= 4: if parts[1] == 'layers': signature = 'keras.layers.' + '.'.join(parts[3:]) if parts[1] == 'utils': signature = 'keras.utils.' + '.'.join(parts[3:]) if parts[1] == 'backend': signature = 'keras.backend.' + '.'.join(parts[3:]) return signature
Example #29
Source File: rct_robot.py From robotreviewer with GNU General Public License v3.0 | 5 votes |
def __init__(self): from keras.preprocessing import sequence from keras.models import load_model from keras.models import Sequential from keras.preprocessing import sequence from keras.layers import Dense, Dropout, Activation, Lambda, Input, merge, Flatten from keras.layers import Embedding from keras.layers import Convolution1D, MaxPooling1D from keras import backend as K from keras.models import Model from keras.regularizers import l2 global sequence, load_model, Sequential, Dense, Dropout, Activation, Lambda, Input, merge, Flatten global Embedding, Convolution1D, MaxPooling1D, K, Model, l2 self.svm_clf = MiniClassifier(os.path.join(robotreviewer.DATA_ROOT, 'rct/rct_svm_weights.npz')) cnn_weight_files = glob.glob(os.path.join(robotreviewer.DATA_ROOT, 'rct/*.h5')) self.cnn_clfs = [load_model(cnn_weight_file) for cnn_weight_file in cnn_weight_files] self.svm_vectorizer = HashingVectorizer(binary=False, ngram_range=(1, 1), stop_words='english') self.cnn_vectorizer = KerasVectorizer(vocab_map_file=os.path.join(robotreviewer.DATA_ROOT, 'rct/cnn_vocab_map.pck'), stop_words='english') with open(os.path.join(robotreviewer.DATA_ROOT, 'rct/rct_model_calibration.json'), 'r') as f: self.constants = json.load(f) self.calibration_lr = {} with open(os.path.join(robotreviewer.DATA_ROOT, 'rct/svm_cnn_ptyp_calibration.pck'), 'rb') as f: self.calibration_lr['svm_cnn_ptyp'] = pickle.load(f) with open(os.path.join(robotreviewer.DATA_ROOT, 'rct/svm_cnn_calibration.pck'), 'rb') as f: self.calibration_lr['svm_cnn'] = pickle.load(f)
Example #30
Source File: darknet.py From imgclsmob with MIT License | 5 votes |
def _test(): import numpy as np import keras pretrained = False keras.backend.set_learning_phase(0) models = [ darknet_ref, darknet_tiny, darknet19, ] for model in models: net = model(pretrained=pretrained) # net.summary() weight_count = keras.utils.layer_utils.count_params(net.trainable_weights) print("m={}, {}".format(model.__name__, weight_count)) assert (model != darknet_ref or weight_count == 7319416) assert (model != darknet_tiny or weight_count == 1042104) assert (model != darknet19 or weight_count == 20842376) if is_channels_first(): x = np.zeros((1, 3, 224, 224), np.float32) else: x = np.zeros((1, 224, 224, 3), np.float32) y = net.predict(x) assert (y.shape == (1, 1000))