【发布时间】:2020-06-16 00:00:17
【问题描述】:
def create_keras_model():
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu', kernel_regularizer=tf.keras.regularizers.l2(0.001)),
Dropout(0.5),
Dense(1, activation='sigmoid')
])
model.load_weights('/content/drive/My Drive/localmodel/weights')
return model
在 Colab 中尝试过类似的操作,但我得到 errno 21,是一个目录。
然后我尝试了另一种方法,如下图,
tff_model = create_keras_model() #now this function doesnt load weights, just returns a Sequential model
tff.learning.assign_weights_to_keras_model(tff_model, model_with_weights)
就像 assign_weights_to_keras_model() 将权重从 tff_model 转移到 keras 模型一样,我想将权重从 keras 模型转移到 tff_model。如何做到这一点?
【问题讨论】:
-
Re: errno 21:
model.load_weights正在调用tf.keras.Model.load_weights(),它似乎指向的路径可能不是由配对的tf.keras.Model.save_weights()生成的? -
并非如此。确定它是正确的道路。
-
此错误来自 TF 核心内的 Keras 库,与 TFF 无关。在
tensorflow标记中专门询问有关此错误的问题可能会很好。 -
好的,我明白了。是的,我已经标记了 tf.让我们充满希望!
标签: tensorflow tensorflow-federated federated-learning