flwr-nightly 1.7.0.dev20240105__py3-none-any.whl → 1.7.0.dev20240115__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,78 @@
1
+ # Copyright 2024 Flower Labs GmbH. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+ """RecordSet."""
16
+
17
+ from dataclasses import dataclass
18
+ from typing import Dict
19
+
20
+
21
+ @dataclass
22
+ class ParametersRecord:
23
+ """Parameters record."""
24
+
25
+
26
+ @dataclass
27
+ class MetricsRecord:
28
+ """Metrics record."""
29
+
30
+
31
+ @dataclass
32
+ class ConfigsRecord:
33
+ """Configs record."""
34
+
35
+
36
+ @dataclass
37
+ class RecordSet:
38
+ """Definition of RecordSet."""
39
+
40
+ parameters: Dict[str, ParametersRecord] = {}
41
+ metrics: Dict[str, MetricsRecord] = {}
42
+ configs: Dict[str, ConfigsRecord] = {}
43
+
44
+ def set_parameters(self, name: str, record: ParametersRecord) -> None:
45
+ """Add a ParametersRecord."""
46
+ self.parameters[name] = record
47
+
48
+ def get_parameters(self, name: str) -> ParametersRecord:
49
+ """Get a ParametesRecord."""
50
+ return self.parameters[name]
51
+
52
+ def del_parameters(self, name: str) -> None:
53
+ """Delete a ParametersRecord."""
54
+ del self.parameters[name]
55
+
56
+ def set_metrics(self, name: str, record: MetricsRecord) -> None:
57
+ """Add a MetricsRecord."""
58
+ self.metrics[name] = record
59
+
60
+ def get_metrics(self, name: str) -> MetricsRecord:
61
+ """Get a MetricsRecord."""
62
+ return self.metrics[name]
63
+
64
+ def del_metrics(self, name: str) -> None:
65
+ """Delete a MetricsRecord."""
66
+ del self.metrics[name]
67
+
68
+ def set_configs(self, name: str, record: ConfigsRecord) -> None:
69
+ """Add a ConfigsRecord."""
70
+ self.configs[name] = record
71
+
72
+ def get_configs(self, name: str) -> ConfigsRecord:
73
+ """Get a ConfigsRecord."""
74
+ return self.configs[name]
75
+
76
+ def del_configs(self, name: str) -> None:
77
+ """Delete a ConfigsRecord."""
78
+ del self.configs[name]
flwr/simulation/app.py CHANGED
@@ -314,8 +314,18 @@ def start_simulation(
314
314
  log(ERROR, traceback.format_exc())
315
315
  log(
316
316
  ERROR,
317
- "Your simulation crashed :(. This could be because of several reasons."
317
+ "Your simulation crashed :(. This could be because of several reasons. "
318
318
  "The most common are: "
319
+ "\n\t > Sometimes, issues in the simulation code itself can cause crashes. "
320
+ "It's always a good idea to double-check your code for any potential bugs "
321
+ "or inconsistencies that might be contributing to the problem. "
322
+ "For example: "
323
+ "\n\t\t - You might be using a class attribute in your clients that "
324
+ "hasn't been defined."
325
+ "\n\t\t - There could be an incorrect method call to a 3rd party library "
326
+ "(e.g., PyTorch)."
327
+ "\n\t\t - The return types of methods in your clients/strategies might be "
328
+ "incorrect."
319
329
  "\n\t > Your system couldn't fit a single VirtualClient: try lowering "
320
330
  "`client_resources`."
321
331
  "\n\t > All the actors in your pool crashed. This could be because: "
@@ -325,7 +335,9 @@ def start_simulation(
325
335
  "not enough for your run). Use fewer concurrent actors. "
326
336
  "\n\t\t - You were running a multi-node simulation and all worker nodes "
327
337
  "disconnected. The head node might still be alive but cannot accommodate "
328
- "any actor with resources: %s.",
338
+ "any actor with resources: %s."
339
+ "\nTake a look at the Flower simulation examples for guidance "
340
+ "<https://flower.dev/docs/framework/how-to-run-simulations.html>.",
329
341
  client_resources,
330
342
  client_resources,
331
343
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flwr-nightly
3
- Version: 1.7.0.dev20240105
3
+ Version: 1.7.0.dev20240115
4
4
  Summary: Flower: A Friendly Federated Learning Framework
5
5
  Home-page: https://flower.dev
6
6
  License: Apache-2.0
@@ -31,6 +31,7 @@ flwr/common/dp.py,sha256=hF45cPElXxcQsh4AoquAyaTrNi0xCrIcKx7xOcV_1XU,1782
31
31
  flwr/common/grpc.py,sha256=qVLB0d6bCuaBRW5YB0vEZXsR7Bo3R2lh4ONiCocqwRI,2270
32
32
  flwr/common/logger.py,sha256=yGM9KCc7eU4-pvuOc_FXdLbBxalfU-ZAaepf9TbDAhY,3821
33
33
  flwr/common/parameter.py,sha256=-bFAUayToYDF50FZGrBC1hQYJCQDtB2bbr3ZuVLMtdE,2095
34
+ flwr/common/recordset.py,sha256=MLeEtFtdKIFoFIT0F-K_Xk3BnuYlLkYQPTx1m8IWD2A,2324
34
35
  flwr/common/retry_invoker.py,sha256=RBTiDnYyePWvhBH9GqcWZl0tQaUOVUqOVBwfGprXWEg,10810
35
36
  flwr/common/secure_aggregation/__init__.py,sha256=29nHIUO2L8-KhNHQ2KmIgRo_4CPkq4LgLCUN0on5FgI,731
36
37
  flwr/common/secure_aggregation/crypto/__init__.py,sha256=dz7pVx2aPrHxr_AwgO5mIiTzu4PcvUxRq9NLBbFcsf8,738
@@ -126,13 +127,13 @@ flwr/server/utils/__init__.py,sha256=RQVbo-bcsVtp_lJBf7dL5w01FbLrr7v3YedeGp5_YMs
126
127
  flwr/server/utils/tensorboard.py,sha256=k0G6bqsLx7wfYbH2KtXsDYcOCfyIeE12-hefXA7lZdg,5485
127
128
  flwr/server/utils/validator.py,sha256=whLz1xBEP8mG_ZuJiIR3cRk3TmrXCFl7CxIP0sRpInY,5679
128
129
  flwr/simulation/__init__.py,sha256=E2eD5FlTmZZ80u21FmWCkacrM7O4mrEHD8iXqeCaBUQ,1278
129
- flwr/simulation/app.py,sha256=Gkq3VNMqHaXXQBNQwyKmnK3UlxZVrzcWd2GQNIDTbG0,13093
130
+ flwr/simulation/app.py,sha256=pbkldpm3Uc9_0M2R5-8Ako26g9WxNhZW4fLJY-4YtJY,13879
130
131
  flwr/simulation/ray_transport/__init__.py,sha256=FsaAnzC4cw4DqoouBCix6496k29jACkfeIam55BvW9g,734
131
132
  flwr/simulation/ray_transport/ray_actor.py,sha256=S_E-7Bk0ONWx12b0ObP3CtzJSEL3yPxpFVcYfkDx6Es,17044
132
133
  flwr/simulation/ray_transport/ray_client_proxy.py,sha256=RziUVY9PmuI8fJEbra-Vk9oWwRxALDZOeF1fAW-a9wg,9430
133
134
  flwr/simulation/ray_transport/utils.py,sha256=e0mkFOgOXSJHSQdiipoggF-DLBXaJZVytx9auQ35fCg,3368
134
- flwr_nightly-1.7.0.dev20240105.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
135
- flwr_nightly-1.7.0.dev20240105.dist-info/METADATA,sha256=HR_nbUMeSJkelekUQoSJImmd-KFL8ScDmR9tmWCID9M,13449
136
- flwr_nightly-1.7.0.dev20240105.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
137
- flwr_nightly-1.7.0.dev20240105.dist-info/entry_points.txt,sha256=1uLlD5tIunkzALMfMWnqjdE_D5hRUX_I1iMmOMv6tZI,181
138
- flwr_nightly-1.7.0.dev20240105.dist-info/RECORD,,
135
+ flwr_nightly-1.7.0.dev20240115.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
136
+ flwr_nightly-1.7.0.dev20240115.dist-info/METADATA,sha256=a50Ta2Iy4tohGmxn59QvGmczagzFiPLgBEH8nRHmWUw,13449
137
+ flwr_nightly-1.7.0.dev20240115.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
138
+ flwr_nightly-1.7.0.dev20240115.dist-info/entry_points.txt,sha256=1uLlD5tIunkzALMfMWnqjdE_D5hRUX_I1iMmOMv6tZI,181
139
+ flwr_nightly-1.7.0.dev20240115.dist-info/RECORD,,