`tensorflow_federated.learning.from_keras_model()` 不再包含 'dummy_batch' 关键字?
`tensorflow_federated.learning.from_keras_model()` no longer contains 'dummy_batch' keyword?
我 运行 https://colab.research.google.com/github/tensorflow/federated/blob/v0.13.1/docs/tutorials/federated_learning_for_image_classification.ipynb 上的 tensorflow 联合教程代码。我收到这个错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-17-d5336a451ad0> in <module>()
2 model_fn,
3 client_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=0.02),
----> 4 server_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=1.0))
2 frames
<ipython-input-16-7b97120f96c2> in model_fn()
7 dummy_batch=sample_batch,
8 loss=tf.keras.losses.SparseCategoricalCrossentropy(),
----> 9 metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])
TypeError: from_keras_model() got an unexpected keyword argument 'dummy_batch'
提供的笔记本将tensorflow_federated
更新到最新版本,所以tff版本是0.14.0。那么在 0.14.0 版本中,我们不再需要提供虚拟批次?通常的 tff 工作管道是否已更改?
P.S。将 tensorflow_federated
降级到版本 0.13.1 有效。
这是正确的; dummy_batch
关键字在 this commit 中被弃用,取而代之的是 input_spec
,以获得额外的灵活性。
人们可以通过多种方式获得 input_spec
,包括直接从要输入模型的数组或张量计算它,但最简单的方法是访问 element_spec
模型将训练的关联 tf.data.Dataset
的属性。
至于 colab 本身的 link,看起来就像 TFF 在今天更新其 links 作为其发布的一部分时,它忘记在标记时包含 v
GitHub 上的提交。链接现已更新,this 应将您带到适用于 0.14.0 的 colab 版本。
我 运行 https://colab.research.google.com/github/tensorflow/federated/blob/v0.13.1/docs/tutorials/federated_learning_for_image_classification.ipynb 上的 tensorflow 联合教程代码。我收到这个错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-17-d5336a451ad0> in <module>()
2 model_fn,
3 client_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=0.02),
----> 4 server_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=1.0))
2 frames
<ipython-input-16-7b97120f96c2> in model_fn()
7 dummy_batch=sample_batch,
8 loss=tf.keras.losses.SparseCategoricalCrossentropy(),
----> 9 metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])
TypeError: from_keras_model() got an unexpected keyword argument 'dummy_batch'
提供的笔记本将tensorflow_federated
更新到最新版本,所以tff版本是0.14.0。那么在 0.14.0 版本中,我们不再需要提供虚拟批次?通常的 tff 工作管道是否已更改?
P.S。将 tensorflow_federated
降级到版本 0.13.1 有效。
这是正确的; dummy_batch
关键字在 this commit 中被弃用,取而代之的是 input_spec
,以获得额外的灵活性。
人们可以通过多种方式获得 input_spec
,包括直接从要输入模型的数组或张量计算它,但最简单的方法是访问 element_spec
模型将训练的关联 tf.data.Dataset
的属性。
至于 colab 本身的 link,看起来就像 TFF 在今天更新其 links 作为其发布的一部分时,它忘记在标记时包含 v
GitHub 上的提交。链接现已更新,this 应将您带到适用于 0.14.0 的 colab 版本。