adap / flower

Flower: A Friendly Federated Learning Framework
https://flower.ai
Apache License 2.0
4.48k stars 791 forks source link

example run failed #3007

Open icutool opened 4 months ago

icutool commented 4 months ago

Describe the bug

file:examples/quickstart-huggingface/client.py When I run this demo, it prompts that a file is missing image Also, I am a beginner. How can I keep this model? Because I want to make predictions by comparing historical versions Thanks!

Steps/Code to Reproduce

python client.py --node-id 0

Expected Results

succeed

Actual Results

FileNotFoundError:

Andron00e commented 4 months ago

Hi there, I have a similar problem. How can the following be fixed?

debug_error_string = "UNKNOWN:Error received from peer  {grpc_message:"failed to connect to all addresses; last error: UNIMPLEMENTED: ipv4:127.0.0.1:8080: Trying to connect an http1.x server", grpc_status:14, created_time:"2024-02-29T06:06:57.516414483+00:00"}"
jafermarq commented 4 months ago

Hi @plusboy88 and @Andron00e , how are you runnign the example? I'm able to run it following the instructions in the [REAMDE]:

# on a clean environment 
pip install -r requirements.txt

# start the server
python server.py

# on a new terminal start a client
python client.py --partition-id 0

# on a new terminal start another client
python client.py --partition-id 1

Running the above on my mac generates the following log (server):

INFO flwr 2024-03-01 22:27:23,957 | app.py:163 | Starting Flower server, config: ServerConfig(num_rounds=3, round_timeout=None)
INFO flwr 2024-03-01 22:27:23,993 | app.py:176 | Flower ECE: gRPC server running (3 rounds), SSL is disabled
INFO flwr 2024-03-01 22:27:23,993 | server.py:89 | Initializing global parameters
INFO flwr 2024-03-01 22:27:23,993 | server.py:276 | Requesting initial parameters from one random client
INFO flwr 2024-03-01 22:27:50,620 | server.py:280 | Received initial parameters from one random client
INFO flwr 2024-03-01 22:27:50,620 | server.py:91 | Evaluating initial parameters
INFO flwr 2024-03-01 22:27:50,620 | server.py:104 | FL starting
DEBUG flwr 2024-03-01 22:28:24,598 | server.py:222 | fit_round 1: strategy sampled 2 clients (out of 2)
DEBUG flwr 2024-03-01 22:28:37,772 | server.py:236 | fit_round 1 received 2 results and 0 failures
WARNING flwr 2024-03-01 22:28:37,983 | fedavg.py:250 | No fit_metrics_aggregation_fn provided
DEBUG flwr 2024-03-01 22:28:38,002 | server.py:173 | evaluate_round 1: strategy sampled 2 clients (out of 2)
DEBUG flwr 2024-03-01 22:28:40,451 | server.py:187 | evaluate_round 1 received 2 results and 0 failures
WARNING flwr 2024-03-01 22:28:40,451 | fedavg.py:281 | No evaluate_metrics_aggregation_fn provided
DEBUG flwr 2024-03-01 22:28:40,452 | server.py:222 | fit_round 2: strategy sampled 2 clients (out of 2)
DEBUG flwr 2024-03-01 22:28:53,054 | server.py:236 | fit_round 2 received 2 results and 0 failures
DEBUG flwr 2024-03-01 22:28:53,306 | server.py:173 | evaluate_round 2: strategy sampled 2 clients (out of 2)
DEBUG flwr 2024-03-01 22:28:55,396 | server.py:187 | evaluate_round 2 received 2 results and 0 failures
DEBUG flwr 2024-03-01 22:28:55,397 | server.py:222 | fit_round 3: strategy sampled 2 clients (out of 2)
DEBUG flwr 2024-03-01 22:29:08,522 | server.py:236 | fit_round 3 received 2 results and 0 failures
DEBUG flwr 2024-03-01 22:29:08,781 | server.py:173 | evaluate_round 3: strategy sampled 2 clients (out of 2)
DEBUG flwr 2024-03-01 22:29:11,105 | server.py:187 | evaluate_round 3 received 2 results and 0 failures
INFO flwr 2024-03-01 22:29:11,106 | server.py:153 | FL finished in 80.485352667
INFO flwr 2024-03-01 22:29:11,120 | app.py:226 | app_fit: losses_distributed [(1, 0.13040311634540558), (2, 0.1282901130616665), (3, 0.11950710415840149)]
INFO flwr 2024-03-01 22:29:11,120 | app.py:227 | app_fit: metrics_distributed_fit {}
INFO flwr 2024-03-01 22:29:11,120 | app.py:228 | app_fit: metrics_distributed {}
INFO flwr 2024-03-01 22:29:11,120 | app.py:229 | app_fit: losses_centralized []
INFO flwr 2024-03-01 22:29:11,120 | app.py:230 | app_fit: metrics_centralized {}

Bear in mind that if you want to run the clients on a different machine then you'll need to pass the IP:PORT of the server machine to the fl.client.start_client() function.

chenjin060204 commented 3 months ago

Hi there, I have a similar problem. How can the following be fixed?

debug_error_string = "UNKNOWN:Error received from peer  {grpc_message:"failed to connect to all addresses; last error: UNIMPLEMENTED: ipv4:127.0.0.1:8080: Trying to connect an http1.x server", grpc_status:14, created_time:"2024-02-29T06:06:57.516414483+00:00"}"

hi! I encountered the same issue, have you managed to solve it?