我希望能够重置整个Keras模型的权重,这样我就不必再次编译它。编译模型目前是我代码的主要瓶颈。下面是我的意思的一个例子:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(16, activation='relu'),
tf.keras.layers.Dense(10)
])
model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.001),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
data = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = data.load_data()
model.fit(x=x_train, y=y_train, epochs=10)
# Reset all weights of model here
# model.reset_all_weights() <----- something like that
model.fit(x=x_train, y=y_train, epochs=10)
字符串
3条答案
按热度按时间t2a7ltrp1#
我在tensorflow 2中写了一个重新定义权重的函数。
字符串
我花了比它应该有更长的时间来想出这个,我尝试了很多东西,在我的特定用例失败。海事组织这应该是一个标准的TF功能。
50few1ms2#
你可以使用这个循环:
字符串
原始重量:
的数据
新重量:
的字符串
jaql4c8m3#
如果有人有嵌套模型,莫里茨的答案需要稍微修改如下:
字符串