Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 16418

ValueError: Unknown activation function: my_custom_activation_function

$
0
0

I have used an activation function that I have created on my own (not usually) and I used for my LSTM. Everything went well, I trained my model and saved it as .h5 file.

Here is my customized activation function:

from keras import backend as kdef activate(ab):    a = k.exp(ab[:, 0])    b = k.softplus(ab[:, 1])    a = k.reshape(a, (k.shape(a)[0], 1))    b = k.reshape(b, (k.shape(b)[0], 1))    return k.concatenate((a, b), axis=1)def weibull_loglik_discrete(y_true, ab_pred, name=None):    y_ = y_true[:, 0]    u_ = y_true[:, 1]    a_ = ab_pred[:, 0]    b_ = ab_pred[:, 1]    hazard0 = k.pow((y_ + 1e-35) / a_, b_)    hazard1 = k.pow((y_ + 1) / a_, b_)    return -1 * k.mean(u_ * k.log(k.exp(hazard1 - hazard0) - 1.0) - hazard1)model = Sequential()model.add(Masking(mask_value=0., input_shape=(max_time, 39)))model.add(LSTM(20, input_dim=11))model.add(Dense(2))# Apply the custom activation function mentioned abovemodel.add(Activation(activate))# discrete log-likelihood for Weibull survival data as my loss functionmodel.compile(loss=weibull_loglik_discrete, optimizer=RMSprop(lr=.001)) # Fit!model.fit(train_x, train_y, nb_epoch=250, batch_size=2000, verbose=2, validation_data=(test_x, test_y))

After training, I save my model as follow:

from keras.models import load_modelmodel.save("model_baseline_lstm.h5")

Later, when I try to load the model, I run this :

from keras.models import load_modelmodel= load_model("model_baseline_lstm.h5")

BUT, I get this error:

--------------------------------------------------------------------------- ValueErrorTraceback (most recent call last) <ipython-input-11-d3f9f7415b5c> in <module>()     13 # model.save("model_baseline_lsm.h5")     14 from keras.models import load_model---> 15 model= load_model("model_baseline_lsm.h5")/anaconda3/lib/python3.6/site-packages/keras/models.py in load_model(filepath, custom_objects, compile)    238             raise ValueError('No model found in config file.')    239         model_config = json.loads(model_config.decode('utf-8'))--> 240         model = model_from_config(model_config, custom_objects=custom_objects)    241     242         # set weights/anaconda3/lib/python3.6/site-packages/keras/models.py in model_from_config(config, custom_objects)    312                         'Maybe you meant to use '    313                         '`Sequential.from_config(config)`?')--> 314     return layer_module.deserialize(config, custom_objects=custom_objects)    315     316 /anaconda3/lib/python3.6/site-packages/keras/layers/__init__.py in deserialize(config, custom_objects)     53                                     module_objects=globs,     54                                     custom_objects=custom_objects,---> 55                                     printable_module_name='layer')/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)    138                 return cls.from_config(config['config'],    139                                        custom_objects=dict(list(_GLOBAL_CUSTOM_OBJECTS.items()) +--> 140                                                            list(custom_objects.items())))    141             with CustomObjectScope(custom_objects):    142                 return cls.from_config(config['config'])/anaconda3/lib/python3.6/site-packages/keras/models.py in from_config(cls, config, custom_objects)       1321         model = cls()    1322         for conf in config:-> 1323             layer = layer_module.deserialize(conf, custom_objects=custom_objects)       1324             model.add(layer)       1325         return model/anaconda3/lib/python3.6/site-packages/keras/layers/__init__.py in deserialize(config, custom_objects)     53                                     module_objects=globs,     54                                     custom_objects=custom_objects,---> 55                                     printable_module_name='layer')/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)    140                                                            list(custom_objects.items())))    141             with CustomObjectScope(custom_objects):--> 142                 return cls.from_config(config['config'])    143         else:    144             # Then `cls` may be a function returning a class./anaconda3/lib/python3.6/site-packages/keras/engine/topology.py in from_config(cls, config)       1251             A layer instance.       1252 """-> 1253         return cls(**config)       1254        1255     def count_params(self):/anaconda3/lib/python3.6/site-packages/keras/layers/core.py in__init__(self, activation, **kwargs)    289         super(Activation, self).__init__(**kwargs)    290         self.supports_masking = True--> 291         self.activation = activations.get(activation)    292     293     def call(self, inputs):/anaconda3/lib/python3.6/site-packages/keras/activations.py in get(identifier)     93     if isinstance(identifier, six.string_types):     94         identifier = str(identifier)---> 95         return deserialize(identifier)     96     elif callable(identifier):     97         if isinstance(identifier, Layer):/anaconda3/lib/python3.6/site-packages/keras/activations.py in deserialize(name, custom_objects)     85                                     module_objects=globals(),     86                                     custom_objects=custom_objects,---> 87                                     printable_module_name='activation function')     88      89 /anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)    158             if fn is None:    159                 raise ValueError('Unknown '+ printable_module_name +--> 160                                  ':'+ function_name)    161         return fn    162     else:ValueError: Unknown activation function:activate

Viewing all articles
Browse latest Browse all 16418

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>