首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在google colab上训练了一个keras模型。现在无法在我的系统上本地加载它。

我在google colab上训练了一个keras模型。现在无法在我的系统上本地加载它。
EN

Stack Overflow用户
提问于 2018-10-30 01:57:28
回答 3查看 4.9K关注 0票数 6
代码语言:javascript
运行
复制
with open('2model.json','r') as f:
json = f.read()
model = model_from_json(json)
model.load_weights("color_tensorflow_real_mode.h5")

我在google colab上训练了一个keras模型。现在无法在我的系统上本地加载它。获取此错误: ValueError:未知初始值设定项: GlorotUniform

如何解决这个问题??每次我在colab上创建一个模型并尝试在本地加载它时,我都无法这样做。获取此错误消息:

代码语言:javascript
运行
复制
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-17-c3ed162a8277> in <module>()
----> 1 model = model_from_json(json)
      2 model.load_weights("color_tensorflow_real_mode.h5")

~\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\saving.py in model_from_json(json_string, custom_objects)
    349   config = json.loads(json_string)
    350   from tensorflow.python.keras.layers import deserialize  # pylint: disable=g-import-not-at-top
--> 351   return deserialize(config, custom_objects=custom_objects)
    352 
    353 

~\Anaconda3\lib\site-packages\tensorflow\python\keras\layers\serialization.py in deserialize(config, custom_objects)
     62       module_objects=globs,
     63       custom_objects=custom_objects,
---> 64       printable_module_name='layer')

~\Anaconda3\lib\site-packages\tensorflow\python\keras\utils\generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    171             custom_objects=dict(
    172                 list(_GLOBAL_CUSTOM_OBJECTS.items()) +
--> 173                 list(custom_objects.items())))
    174       with CustomObjectScope(custom_objects):
    175         return cls.from_config(config['config'])

~\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\network.py in from_config(cls, config, custom_objects)
   1290     # First, we create all layers and enqueue nodes to be processed
   1291     for layer_data in config['layers']:
-> 1292       process_layer(layer_data)
   1293     # Then we process nodes in order of layer depth.
   1294     # Nodes that cannot yet be processed (if the inbound node

~\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\network.py in process_layer(layer_data)
   1276       from tensorflow.python.keras.layers import deserialize as deserialize_layer  # pylint: disable=g-import-not-at-top
   1277 
-> 1278       layer = deserialize_layer(layer_data, custom_objects=custom_objects)
   1279       created_layers[layer_name] = layer
   1280 

~\Anaconda3\lib\site-packages\tensorflow\python\keras\layers\serialization.py in deserialize(config, custom_objects)
     62       module_objects=globs,
     63       custom_objects=custom_objects,
---> 64       printable_module_name='layer')

~\Anaconda3\lib\site-packages\tensorflow\python\keras\utils\generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    173                 list(custom_objects.items())))
    174       with CustomObjectScope(custom_objects):
--> 175         return cls.from_config(config['config'])
    176     else:
    177       # Then `cls` may be a function returning a class.

~\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\base_layer.py in from_config(cls, config)
   1615         A layer instance.
   1616     """
-> 1617     return cls(**config)
   1618 
   1619 

~\Anaconda3\lib\site-packages\tensorflow\python\keras\layers\convolutional.py in __init__(self, filters, kernel_size, strides, padding, data_format, dilation_rate, activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint, **kwargs)
    464         activation=activations.get(activation),
    465         use_bias=use_bias,
--> 466         kernel_initializer=initializers.get(kernel_initializer),
    467         bias_initializer=initializers.get(bias_initializer),
    468         kernel_regularizer=regularizers.get(kernel_regularizer),

~\Anaconda3\lib\site-packages\tensorflow\python\keras\initializers.py in get(identifier)
    153     return None
    154   if isinstance(identifier, dict):
--> 155     return deserialize(identifier)
    156   elif isinstance(identifier, six.string_types):
    157     config = {'class_name': str(identifier), 'config': {}}

~\Anaconda3\lib\site-packages\tensorflow\python\keras\initializers.py in deserialize(config, custom_objects)
    145       module_objects=globals(),
    146       custom_objects=custom_objects,
--> 147       printable_module_name='initializer')
    148 
    149 

~\Anaconda3\lib\site-packages\tensorflow\python\keras\utils\generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    161       cls = module_objects.get(class_name)
    162       if cls is None:
--> 163         raise ValueError('Unknown ' + printable_module_name + ': ' + class_name)
    164     if hasattr(cls, 'from_config'):
    165       arg_spec = tf_inspect.getfullargspec(cls.from_config)

ValueError: Unknown initializer: GlorotUniform

Stackoverflow要求我添加细节,而我没有要添加的细节。或者我不确定要添加什么。请帮帮忙。

EN

回答 3

Stack Overflow用户

发布于 2018-10-30 10:49:48

Google Colab确保您拥有最新版本的Kerastensorflow (即2.4.41.11.0)通过运行pip install keras tensorflow

  1. 如果是Google Colab使用不推荐使用的对象,则可能需要使用自定义对象:

代码语言:javascript
运行
复制
from keras.utils import CustomObjectScope
from keras.initializers import glorot_uniform

with CustomObjectScope({'GlorotUniform': glorot_uniform()}):
    model = load_model('my_model.h5')

但我不确定这是不是你的情况。

票数 4
EN

Stack Overflow用户

发布于 2020-05-25 02:13:32

使用以下命令加载模型

代码语言:javascript
运行
复制
 from tensorflow.keras.models import load_model

而不是

代码语言:javascript
运行
复制
from keras.models import load_model

我尝试了许多方法,但这是一个最终有效的方法!

票数 3
EN

Stack Overflow用户

发布于 2020-01-14 20:46:23

当我试图本地加载Colab上训练的模型时,我也遇到了类似的错误(未知层:名称)。我试着改变keras版本,tensorflow版本,conda版本等等,但是没有任何帮助。我通过在Colab上保存模型的权重,在本地创建相同的模型并将权重加载到此模型来解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53051274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档