Tensorflow Federated モデルを簡単に保存するにはどうすればよいですか? (状態)
数か月前、私は ServerState と FileCheckPointManager をインポートした後にこのソリューションを使用していましたが、うまくいきました。
# Create the checkpoint Manager
ckpt_manager = FileCheckpointManager(root_dir=checkpoint_dir)
# Save checkpoint for round N
ckpt_manager.save_checkpoint(ServerState.from_tff_result(state), round_num=NUM_ROUNDS)
しかし、ServerState に from_tff_result メソッドが含まれなくなったため、この解決策は機能しなくなりました。
AttributeError: type object 'ServerState' has no attribute 'from_tff_result'
また、metohd が含まれていた古いバージョンの ServerState を使用すると、次の結果が得られます。
TypeError: Expected tensorflow_federated.python.common_libs.structure.Struct, found tensorflow_federated.python.learning.model_utils.ModelWeights.
フェデレーション モデルを簡単に保存するにはどうすればよいですか?
------------------------
Struct (以前の AnonymousTuple) がユーザーに返されないように最近変更された後、me は必要なくなりました。ServerState.from_tff_result(state); のようなものです。 state はすでに ServerState である必要があります。
TLDR: 単純に次のように例を更新すると:
# Create the checkpoint Manager
ckpt_manager = FileCheckpointManager(root_dir=checkpoint_dir)
# Save checkpoint for round N
ckpt_manager.save_checkpoint(state, round_num=NUM_ROUNDS)
これでうまくいくはずです。