TensorFlow模型创建异常:无可用训练参数问题咨询
模型summary显示无训练参数的问题解决
你这段代码的层定义本身没问题,出现summary无参数的原因是TensorFlow的模型在未明确输入形状或未见过实际输入数据时,部分层的参数不会被初始化,导致summary无法正确展示参数。
解决方法选其中一种即可:
- 在Embedding层里指定
input_shape参数(序列长度根据你的实际需求调整,示例用20):
import tensorflow as tf from tensorflow import keras model = tf.keras.models.Sequential([ tf.keras.layers.Embedding(10000, 16, input_shape=(20,)), tf.keras.layers.GlobalAveragePooling1D(), tf.keras.layers.Dense(24, activation='relu'), tf.keras.layers.Dense(1, activation='sigmoid') ]) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) model.summary()
- 在调用summary前手动调用
model.build方法指定输入形状:
import tensorflow as tf from tensorflow import keras model = tf.keras.models.Sequential([ tf.keras.layers.Embedding(10000, 16), tf.keras.layers.GlobalAveragePooling1D(), tf.keras.layers.Dense(24, activation='relu'), tf.keras.layers.Dense(1, activation='sigmoid') ]) model.build(input_shape=(None, 20)) # None代表批量大小不固定,20为序列长度 model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) model.summary()
修改后模型会正确初始化所有可训练参数,summary会显示出总可训练参数数(应为160433个)。
内容的提问来源于stack exchange,提问作者gus
相关产品推荐
相关产品推荐

