Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 层未生成错误,即使在tensorflow 2.0.0中的model.build()之后_Python_Python 3.x_Tensorflow_Tensorflow2.0 - Fatal编程技术网

Python 层未生成错误,即使在tensorflow 2.0.0中的model.build()之后

Python 层未生成错误,即使在tensorflow 2.0.0中的model.build()之后,python,python-3.x,tensorflow,tensorflow2.0,Python,Python 3.x,Tensorflow,Tensorflow2.0,参考文件一如下: 我真的很想运行模型;给它一些输入;从模型内部获取一些层输出 model = tf.keras.models.load_model('emb_movielens100k_all_cols_dec122019') input_shape = (None, 10) model.build(input_shape) 到目前为止一切都很好;没有错误,没有警告 model.summary() ValueError: You tried to call `count_params` on

参考文件一如下: 我真的很想运行模型;给它一些输入;从模型内部获取一些层输出

model = tf.keras.models.load_model('emb_movielens100k_all_cols_dec122019')
input_shape = (None, 10)
model.build(input_shape)
到目前为止一切都很好;没有错误,没有警告

model.summary()

ValueError: You tried to call `count_params` on IL, but the layer isn't built. You can build it manually via: `IL.build(batch_input_shape)`
如何修复

以下代码无法修复此问题:

IL.build(input_shape) # no

model.layer-0.build(input_shape)  # no
这似乎是可行的:但距离我运行模型和获取一些层输出的目标还有很长的路要走。TF2.0.0中不是有一个简单的方法吗

layer1 = model.get_layer(index=1)
这会引发一个错误:

model = tf.saved_model.load('emb_movielens100k_all_cols_dec122019')
input_shape = (None, 10)
model.build(input_shape) #AttributeError: '_UserObject' object has no attribute 'build'

修复方法是使用save_model(),而不是model.save()。在保存过程中还需要使用save_format=“h5”,而不是默认格式。像这样:

tf.keras.models.save_model(model, "h5_emb.hp5", save_format="h5")
model = tf.keras.models.load_model('h5_emb.hp5') 
还需要使用model_load(),而不是saved_model.load(),从磁盘加载到内存。像这样:

tf.keras.models.save_model(model, "h5_emb.hp5", save_format="h5")
model = tf.keras.models.load_model('h5_emb.hp5') 
另一种保存和加载的教程和文档方法返回了一个模型,该模型不适用于预测或摘要

这是tensorflow 2.0.0版

希望这能帮助别人