Tensorflow 负载模型作为输入层,整个模型没有任何细节
如果有人能帮我解决问题,我将不胜感激。我训练并保存了一个模型。然后,我想再次加载它并使其无法训练。但是,当我加载它时,它只显示一个输入层加上作为子集的模型。以下是我的总结:Tensorflow 负载模型作为输入层,整个模型没有任何细节,tensorflow,keras,deep-learning,neural-network,conv-neural-network,Tensorflow,Keras,Deep Learning,Neural Network,Conv Neural Network,如果有人能帮我解决问题,我将不胜感激。我训练并保存了一个模型。然后,我想再次加载它并使其无法训练。但是,当我加载它时,它只显示一个输入层加上作为子集的模型。以下是我的总结: _________________________________________________________________ Layer (type) Output Shape Param # ===============================
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) [(None, 9)] 0
_________________________________________________________________
FORWARD (Model) (None, 65, 6) 459486
=================================================================
Total params: 459,486
Trainable params: 459,486
Non-trainable params: 0
_________________________________________________________________
这是我加载时的代码部分:
if trained_model_path is not None:
model = tf.keras.models.load_model(trained_model_path,
custom_objects={'BilinearUpsampling1D':BilinearUpsampling1D})
model.trainable = False
首先,我想知道为什么我没有使用简单的model\u save命令保存的加载模型的详细摘要
其次,当我将变量设置为不可训练时,它将在摘要中显示,我有两倍数量的参数,其中一半是可训练的,另一半不是如下所示:
_________________________________________________________________
Model: "model"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) [(None, 9)] 0
_________________________________________________________________
FORWARD (Model) (None, 65, 6) 459486
=================================================================
Total params: 918,972
Trainable params: 459,486
Non-trainable params: 459,486
_________________________________________________________________
我相信这是因为我的加载模型是原始模型的一个子模型。但是,我不知道。如果有人能在这方面帮助我,请告诉我
非常感谢你。
问候,
另外,我正在使用tensorflow 2。不确定这是否是令人信服的解决方法,但如果我们在
model.trainable=False
之后使用model.compile()
,它将显示正确的参数总数
请在下面查找工作代码:
!pip install tensorflow==2.1
import tensorflow as tf
from zipfile import ZipFile
zip_file = ZipFile('Resume_Classification_Model.zip', 'r')
zip_file.extractall('Resume_Classification_Model')
New_Model = tf.keras.models.load_model("Resume_Classification_Model/Resume_Classification_Model/1")
New_Model.summary()
New_Model = tf.keras.models.load_model("Resume_Classification_Model/Resume_Classification_Model/1")
New_Model.trainable= False
New_Model.compile()
# Now, observe the Total Number of Parameters
New_Model.summary()
要保持更新,您可以参考此信息。不确定这是否是令人信服的解决方法,但如果我们使用
model.compile()
在model.trainable=False
之后,它将显示正确的参数总数
请在下面查找工作代码:
!pip install tensorflow==2.1
import tensorflow as tf
from zipfile import ZipFile
zip_file = ZipFile('Resume_Classification_Model.zip', 'r')
zip_file.extractall('Resume_Classification_Model')
New_Model = tf.keras.models.load_model("Resume_Classification_Model/Resume_Classification_Model/1")
New_Model.summary()
New_Model = tf.keras.models.load_model("Resume_Classification_Model/Resume_Classification_Model/1")
New_Model.trainable= False
New_Model.compile()
# Now, observe the Total Number of Parameters
New_Model.summary()
要了解最新信息,您可以参考此信息。我刚刚解决了有关型号的问题。现在,当我说model.summary()时,它详细地显示了所有内容。但是,当我想停用训练时,我会得到以下信息:Total params:918972可训练参数:459486不可训练参数:459486而不是:Total params:459486可训练参数:0不可训练参数:459486这听起来像个Bug。我已经在Github中提交了一个问题。我刚刚修复了关于我的模型的问题。现在,当我说model.summary()时,它详细地显示了所有内容。但是,当我想停用训练时,我会得到以下信息:Total params:918972可训练参数:459486不可训练参数:459486而不是:Total params:459486可训练参数:0不可训练参数:459486这听起来像个Bug。我已经在Github中提交了一个问题。