FedGraph

Getting Started

  • Installation
  • Federated Graph Learning: A Tutorial
    • Federated Graph Classification Example
    • Federated Link Prediction Example
      • Load libraries
      • Specify the Link Prediction configuration
      • Run fedgraph method
    • Federated Node Classification Example
    • Federated Node Classification with Homomorphic Encryption Example
  • Set Up the Ray Cluster

API References

  • Data Process
  • Federated Graph Methods
  • GNN Models
  • Server Class
  • Training Function
  • Trainer Class
  • Monitor Class
  • Utility Functions for Graph Classification
  • Utility Functions for Link Prediction
  • Utility Functions for Node Classification

Additional Information

  • Cite
  • Reference
FedGraph
  • Federated Graph Learning: A Tutorial
  • Federated Link Prediction Example
  • View page source

Note

Go to the end to download the full example code.

Federated Link Prediction Example

Federated Link Prediction with STFL on the Link Prediction dataset.

(Time estimate: 3 minutes)

Load libraries

import os

import attridict

from fedgraph.federated_methods import run_fedgraph

Specify the Link Prediction configuration

BASE_DIR = os.path.dirname(os.path.abspath("."))
DATASET_PATH = os.path.join(
    BASE_DIR, "data", "LPDataset"
)  # Could be modified based on the user needs
config = {
    "fedgraph_task": "LP",
    # method = ["STFL", "StaticGNN", "4D-FED-GNN+", "FedLink"]
    "method": "STFL",
    # Dataset configuration
    # country_codes = ['US', 'BR', 'ID', 'TR', 'JP']
    "country_codes": ["JP"],
    "dataset_path": DATASET_PATH,
    # Setup configuration
    "device": "cpu",
    "use_buffer": False,
    "buffer_size": 300000,
    "online_learning": False,
    "seed": 10,
    # Model parameters
    "global_rounds": 8,
    "local_steps": 3,
    "hidden_channels": 64,
    # Output configuration
    "record_results": False,
    # System configuration
    "gpu": False,
    "num_cpus_per_trainer": 1,
    "num_gpus_per_trainer": 0,
    "use_cluster": False,  # whether use kubernetes for scalability or not
    "distribution_type": "average",  # the node number distribution among clients
    "batch_size": -1,  # -1 is full batch
}

Run fedgraph method

config = attridict(config)
run_fedgraph(config)
Initialization start time recorded.
/home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset not exists, creating directory
Downloading traveled_users from https://drive.google.com/uc?id=1RUsyGrsz4hmY3OA3b-oqyh5yqlks02-p...
Downloading...
From: https://drive.google.com/uc?id=1RUsyGrsz4hmY3OA3b-oqyh5yqlks02-p
To: /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/traveled_users.txt

  0%|          | 0.00/552k [00:00<?, ?B/s]
100%|██████████| 552k/552k [00:00<00:00, 6.52MB/s]
Downloaded traveled_users to /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/traveled_users.txt
Downloading data_global from https://drive.google.com/uc?id=1CnBlVXqCbfjSswagTci5D7nAqO7laU_J...
Downloading...
From (original): https://drive.google.com/uc?id=1CnBlVXqCbfjSswagTci5D7nAqO7laU_J
From (redirected): https://drive.google.com/uc?id=1CnBlVXqCbfjSswagTci5D7nAqO7laU_J&confirm=t&uuid=0fb75cac-ad0e-432b-b3f6-ce4099f6bffc
To: /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/data_global.txt

  0%|          | 0.00/278M [00:00<?, ?B/s]
  0%|          | 524k/278M [00:00<01:19, 3.49MB/s]
  0%|          | 1.05M/278M [00:00<01:09, 3.97MB/s]
  1%|          | 1.57M/278M [00:00<01:09, 3.97MB/s]
  1%|          | 2.10M/278M [00:00<01:05, 4.19MB/s]
  1%|          | 2.62M/278M [00:00<01:04, 4.24MB/s]
  1%|          | 3.15M/278M [00:00<01:02, 4.41MB/s]
  1%|▏         | 3.67M/278M [00:00<01:01, 4.44MB/s]
  2%|▏         | 4.19M/278M [00:00<01:01, 4.48MB/s]
  2%|▏         | 4.72M/278M [00:01<01:02, 4.34MB/s]
  2%|▏         | 5.24M/278M [00:01<01:01, 4.40MB/s]
  2%|▏         | 5.77M/278M [00:01<01:01, 4.42MB/s]
  2%|▏         | 6.29M/278M [00:01<01:02, 4.34MB/s]
  2%|▏         | 6.82M/278M [00:01<01:01, 4.38MB/s]
  3%|▎         | 7.34M/278M [00:01<01:01, 4.38MB/s]
  3%|▎         | 7.86M/278M [00:01<01:03, 4.29MB/s]
  3%|▎         | 8.39M/278M [00:01<01:02, 4.35MB/s]
  3%|▎         | 8.91M/278M [00:02<01:02, 4.32MB/s]
  3%|▎         | 9.44M/278M [00:02<01:01, 4.36MB/s]
  4%|▍         | 10.5M/278M [00:02<00:54, 4.87MB/s]
  4%|▍         | 11.5M/278M [00:02<00:49, 5.33MB/s]
  5%|▍         | 12.6M/278M [00:02<00:47, 5.56MB/s]
  5%|▍         | 13.6M/278M [00:02<00:46, 5.66MB/s]
  5%|▌         | 14.7M/278M [00:03<00:45, 5.82MB/s]
  6%|▌         | 15.7M/278M [00:03<00:43, 6.02MB/s]
  6%|▌         | 16.8M/278M [00:03<00:42, 6.11MB/s]
  6%|▋         | 17.8M/278M [00:03<00:42, 6.06MB/s]
  7%|▋         | 18.9M/278M [00:03<00:42, 6.14MB/s]
  7%|▋         | 19.9M/278M [00:03<00:42, 6.08MB/s]
  8%|▊         | 21.0M/278M [00:04<00:41, 6.13MB/s]
  8%|▊         | 22.0M/278M [00:04<00:42, 5.97MB/s]
  8%|▊         | 23.1M/278M [00:04<00:41, 6.14MB/s]
  9%|▊         | 24.1M/278M [00:04<00:41, 6.15MB/s]
  9%|▉         | 25.2M/278M [00:04<00:41, 6.05MB/s]
  9%|▉         | 26.2M/278M [00:04<00:44, 5.60MB/s]
 10%|▉         | 27.3M/278M [00:05<00:45, 5.55MB/s]
 10%|█         | 28.3M/278M [00:05<00:43, 5.78MB/s]
 11%|█         | 29.4M/278M [00:05<00:42, 5.83MB/s]
 11%|█         | 30.4M/278M [00:05<00:42, 5.89MB/s]
 11%|█▏        | 31.5M/278M [00:05<00:41, 5.90MB/s]
 12%|█▏        | 32.5M/278M [00:06<00:41, 5.89MB/s]
 12%|█▏        | 33.6M/278M [00:06<00:41, 5.96MB/s]
 12%|█▏        | 34.6M/278M [00:06<00:40, 6.05MB/s]
 13%|█▎        | 35.7M/278M [00:06<00:40, 6.01MB/s]
 13%|█▎        | 36.7M/278M [00:06<00:40, 6.02MB/s]
 14%|█▎        | 37.7M/278M [00:06<00:39, 6.05MB/s]
 14%|█▍        | 38.8M/278M [00:07<00:39, 6.04MB/s]
 14%|█▍        | 39.8M/278M [00:07<00:40, 5.82MB/s]
 15%|█▍        | 40.9M/278M [00:07<00:43, 5.46MB/s]
 15%|█▌        | 41.9M/278M [00:07<00:42, 5.61MB/s]
 15%|█▌        | 43.0M/278M [00:07<00:40, 5.77MB/s]
 16%|█▌        | 44.0M/278M [00:08<00:39, 5.93MB/s]
 16%|█▌        | 45.1M/278M [00:08<00:38, 6.01MB/s]
 17%|█▋        | 46.1M/278M [00:08<00:38, 6.08MB/s]
 17%|█▋        | 47.2M/278M [00:08<00:37, 6.08MB/s]
 17%|█▋        | 48.2M/278M [00:08<00:37, 6.10MB/s]
 18%|█▊        | 49.3M/278M [00:08<00:37, 6.05MB/s]
 18%|█▊        | 50.3M/278M [00:09<00:38, 5.96MB/s]
 18%|█▊        | 51.4M/278M [00:09<00:37, 6.07MB/s]
 19%|█▉        | 52.4M/278M [00:09<00:37, 6.03MB/s]
 19%|█▉        | 53.5M/278M [00:09<00:36, 6.11MB/s]
 20%|█▉        | 54.5M/278M [00:09<00:36, 6.14MB/s]
 20%|█▉        | 55.6M/278M [00:09<00:36, 6.10MB/s]
 20%|██        | 56.6M/278M [00:10<00:36, 6.13MB/s]
 21%|██        | 57.7M/278M [00:10<00:39, 5.62MB/s]
 21%|██        | 58.7M/278M [00:10<00:37, 5.79MB/s]
 22%|██▏       | 59.8M/278M [00:10<00:37, 5.80MB/s]
 22%|██▏       | 60.8M/278M [00:10<00:37, 5.77MB/s]
 22%|██▏       | 61.9M/278M [00:11<00:37, 5.82MB/s]
 23%|██▎       | 62.9M/278M [00:11<00:36, 5.85MB/s]
 23%|██▎       | 64.0M/278M [00:11<00:36, 5.93MB/s]
 23%|██▎       | 65.0M/278M [00:11<00:35, 5.95MB/s]
 24%|██▍       | 66.1M/278M [00:11<00:35, 5.98MB/s]
 24%|██▍       | 67.1M/278M [00:11<00:35, 6.00MB/s]
 25%|██▍       | 68.2M/278M [00:12<00:39, 5.33MB/s]
 25%|██▍       | 69.2M/278M [00:12<00:41, 5.06MB/s]
 25%|██▌       | 69.7M/278M [00:12<00:42, 4.85MB/s]
 25%|██▌       | 70.3M/278M [00:12<00:43, 4.78MB/s]
 25%|██▌       | 70.8M/278M [00:12<00:44, 4.70MB/s]
 26%|██▌       | 71.3M/278M [00:12<00:44, 4.65MB/s]
 26%|██▌       | 71.8M/278M [00:12<00:45, 4.49MB/s]
 26%|██▌       | 72.4M/278M [00:13<00:47, 4.36MB/s]
 26%|██▌       | 72.9M/278M [00:13<00:46, 4.42MB/s]
 26%|██▋       | 73.4M/278M [00:13<00:45, 4.45MB/s]
 27%|██▋       | 73.9M/278M [00:13<00:47, 4.32MB/s]
 27%|██▋       | 75.0M/278M [00:13<00:45, 4.45MB/s]
 27%|██▋       | 75.5M/278M [00:13<00:45, 4.44MB/s]
 27%|██▋       | 76.0M/278M [00:13<00:51, 3.91MB/s]
 28%|██▊       | 76.5M/278M [00:14<00:50, 3.99MB/s]
 28%|██▊       | 77.1M/278M [00:14<00:48, 4.11MB/s]
 28%|██▊       | 77.6M/278M [00:14<00:47, 4.21MB/s]
 28%|██▊       | 78.1M/278M [00:14<00:47, 4.23MB/s]
 28%|██▊       | 78.6M/278M [00:14<00:48, 4.14MB/s]
 28%|██▊       | 79.2M/278M [00:14<00:47, 4.19MB/s]
 29%|██▊       | 79.7M/278M [00:14<00:46, 4.28MB/s]
 29%|██▉       | 80.2M/278M [00:14<00:45, 4.31MB/s]
 29%|██▉       | 81.3M/278M [00:15<00:40, 4.84MB/s]
 30%|██▉       | 82.3M/278M [00:15<00:36, 5.36MB/s]
 30%|██▉       | 83.4M/278M [00:15<00:35, 5.44MB/s]
 30%|███       | 84.4M/278M [00:15<00:34, 5.69MB/s]
 31%|███       | 85.5M/278M [00:15<00:32, 5.84MB/s]
 31%|███       | 86.5M/278M [00:15<00:32, 5.95MB/s]
 31%|███▏      | 87.6M/278M [00:16<00:31, 6.00MB/s]
 32%|███▏      | 88.6M/278M [00:16<00:31, 5.99MB/s]
 32%|███▏      | 89.7M/278M [00:16<00:31, 6.02MB/s]
 33%|███▎      | 90.7M/278M [00:16<00:31, 5.98MB/s]
 33%|███▎      | 91.8M/278M [00:16<00:30, 6.07MB/s]
 33%|███▎      | 92.8M/278M [00:17<00:30, 6.15MB/s]
 34%|███▍      | 93.8M/278M [00:17<00:30, 6.11MB/s]
 34%|███▍      | 94.9M/278M [00:17<00:31, 5.80MB/s]
 35%|███▍      | 95.9M/278M [00:17<00:34, 5.34MB/s]
 35%|███▍      | 97.0M/278M [00:17<00:36, 5.00MB/s]
 35%|███▌      | 97.5M/278M [00:17<00:36, 4.89MB/s]
 35%|███▌      | 98.0M/278M [00:18<00:37, 4.76MB/s]
 35%|███▌      | 98.6M/278M [00:18<00:38, 4.62MB/s]
 36%|███▌      | 99.1M/278M [00:18<00:38, 4.60MB/s]
 36%|███▌      | 99.6M/278M [00:18<00:38, 4.60MB/s]
 36%|███▌      | 100M/278M [00:18<00:38, 4.64MB/s]
 36%|███▌      | 101M/278M [00:18<00:39, 4.46MB/s]
 36%|███▋      | 101M/278M [00:18<00:41, 4.26MB/s]
 37%|███▋      | 102M/278M [00:18<00:43, 4.06MB/s]
 37%|███▋      | 102M/278M [00:19<00:42, 4.11MB/s]
 37%|███▋      | 103M/278M [00:19<00:49, 3.55MB/s]
 37%|███▋      | 103M/278M [00:19<00:45, 3.80MB/s]
 37%|███▋      | 104M/278M [00:19<00:44, 3.95MB/s]
 38%|███▊      | 104M/278M [00:19<00:44, 3.92MB/s]
 38%|███▊      | 105M/278M [00:19<00:42, 4.07MB/s]
 38%|███▊      | 105M/278M [00:19<00:41, 4.12MB/s]
 38%|███▊      | 106M/278M [00:20<00:43, 3.98MB/s]
 38%|███▊      | 106M/278M [00:20<00:42, 4.06MB/s]
 38%|███▊      | 107M/278M [00:20<00:41, 4.17MB/s]
 39%|███▊      | 107M/278M [00:20<00:40, 4.23MB/s]
 39%|███▉      | 108M/278M [00:20<00:41, 4.10MB/s]
 39%|███▉      | 109M/278M [00:20<00:40, 4.21MB/s]
 39%|███▉      | 109M/278M [00:20<00:38, 4.34MB/s]
 39%|███▉      | 110M/278M [00:20<00:39, 4.25MB/s]
 40%|███▉      | 110M/278M [00:21<00:39, 4.20MB/s]
 40%|███▉      | 111M/278M [00:21<00:39, 4.29MB/s]
 40%|███▉      | 111M/278M [00:21<00:39, 4.27MB/s]
 40%|████      | 112M/278M [00:21<00:39, 4.26MB/s]
 40%|████      | 112M/278M [00:21<00:38, 4.28MB/s]
 41%|████      | 113M/278M [00:21<00:39, 4.15MB/s]
 41%|████      | 113M/278M [00:21<00:40, 4.10MB/s]
 41%|████      | 114M/278M [00:21<00:41, 3.92MB/s]
 41%|████      | 114M/278M [00:22<00:39, 4.17MB/s]
 41%|████▏     | 115M/278M [00:22<00:39, 4.12MB/s]
 41%|████▏     | 115M/278M [00:22<00:42, 3.79MB/s]
 42%|████▏     | 116M/278M [00:22<00:42, 3.80MB/s]
 42%|████▏     | 116M/278M [00:22<00:41, 3.91MB/s]
 42%|████▏     | 117M/278M [00:22<00:39, 4.11MB/s]
 42%|████▏     | 117M/278M [00:22<00:38, 4.19MB/s]
 42%|████▏     | 118M/278M [00:22<00:37, 4.27MB/s]
 43%|████▎     | 118M/278M [00:23<00:37, 4.28MB/s]
 43%|████▎     | 119M/278M [00:23<00:37, 4.29MB/s]
 43%|████▎     | 120M/278M [00:23<00:36, 4.31MB/s]
 43%|████▎     | 120M/278M [00:23<00:36, 4.32MB/s]
 43%|████▎     | 121M/278M [00:23<00:36, 4.35MB/s]
 44%|████▎     | 121M/278M [00:23<00:36, 4.32MB/s]
 44%|████▍     | 122M/278M [00:23<00:35, 4.35MB/s]
 44%|████▍     | 122M/278M [00:23<00:36, 4.31MB/s]
 44%|████▍     | 123M/278M [00:24<00:35, 4.32MB/s]
 44%|████▍     | 123M/278M [00:24<00:35, 4.36MB/s]
 45%|████▍     | 124M/278M [00:24<00:35, 4.33MB/s]
 45%|████▍     | 124M/278M [00:24<00:35, 4.33MB/s]
 45%|████▍     | 125M/278M [00:24<00:35, 4.32MB/s]
 45%|████▌     | 125M/278M [00:24<00:35, 4.34MB/s]
 45%|████▌     | 126M/278M [00:24<00:35, 4.33MB/s]
 45%|████▌     | 126M/278M [00:24<00:35, 4.28MB/s]
 46%|████▌     | 127M/278M [00:25<00:34, 4.34MB/s]
 46%|████▌     | 127M/278M [00:25<00:34, 4.34MB/s]
 46%|████▌     | 128M/278M [00:25<00:34, 4.31MB/s]
 46%|████▌     | 128M/278M [00:25<00:35, 4.24MB/s]
 46%|████▋     | 129M/278M [00:25<00:34, 4.26MB/s]
 47%|████▋     | 129M/278M [00:25<00:35, 4.23MB/s]
 47%|████▋     | 130M/278M [00:25<00:34, 4.27MB/s]
 47%|████▋     | 131M/278M [00:25<00:34, 4.31MB/s]
 47%|████▋     | 131M/278M [00:26<00:34, 4.31MB/s]
 47%|████▋     | 132M/278M [00:26<00:34, 4.30MB/s]
 48%|████▊     | 132M/278M [00:26<00:34, 4.28MB/s]
 48%|████▊     | 133M/278M [00:26<00:33, 4.35MB/s]
 48%|████▊     | 133M/278M [00:26<00:33, 4.33MB/s]
 48%|████▊     | 134M/278M [00:26<00:33, 4.35MB/s]
 48%|████▊     | 134M/278M [00:26<00:32, 4.43MB/s]
 48%|████▊     | 135M/278M [00:26<00:33, 4.32MB/s]
 49%|████▊     | 135M/278M [00:26<00:32, 4.36MB/s]
 49%|████▉     | 136M/278M [00:27<00:32, 4.38MB/s]
 49%|████▉     | 136M/278M [00:27<00:32, 4.41MB/s]
 49%|████▉     | 137M/278M [00:27<00:32, 4.33MB/s]
 49%|████▉     | 137M/278M [00:27<00:31, 4.40MB/s]
 50%|████▉     | 138M/278M [00:27<00:32, 4.33MB/s]
 50%|████▉     | 138M/278M [00:27<00:32, 4.33MB/s]
 50%|████▉     | 139M/278M [00:27<00:31, 4.38MB/s]
 50%|█████     | 139M/278M [00:27<00:32, 4.26MB/s]
 50%|█████     | 140M/278M [00:28<00:32, 4.30MB/s]
 51%|█████     | 141M/278M [00:28<00:31, 4.35MB/s]
 51%|█████     | 141M/278M [00:28<00:32, 4.19MB/s]
 51%|█████     | 142M/278M [00:28<00:29, 4.59MB/s]
 51%|█████▏    | 143M/278M [00:28<00:28, 4.73MB/s]
 51%|█████▏    | 143M/278M [00:28<00:28, 4.70MB/s]
 52%|█████▏    | 144M/278M [00:28<00:28, 4.63MB/s]
 52%|█████▏    | 144M/278M [00:28<00:28, 4.62MB/s]
 52%|█████▏    | 145M/278M [00:29<00:30, 4.36MB/s]
 52%|█████▏    | 145M/278M [00:29<00:30, 4.40MB/s]
 52%|█████▏    | 146M/278M [00:29<00:28, 4.61MB/s]
 53%|█████▎    | 146M/278M [00:29<00:29, 4.42MB/s]
 53%|█████▎    | 147M/278M [00:29<00:29, 4.41MB/s]
 53%|█████▎    | 147M/278M [00:29<00:29, 4.39MB/s]
 53%|█████▎    | 148M/278M [00:29<00:30, 4.31MB/s]
 53%|█████▎    | 148M/278M [00:29<00:29, 4.36MB/s]
 54%|█████▎    | 149M/278M [00:30<00:29, 4.38MB/s]
 54%|█████▍    | 149M/278M [00:30<00:29, 4.43MB/s]
 54%|█████▍    | 150M/278M [00:30<00:28, 4.44MB/s]
 54%|█████▍    | 150M/278M [00:30<00:28, 4.50MB/s]
 54%|█████▍    | 151M/278M [00:30<00:28, 4.48MB/s]
 55%|█████▍    | 152M/278M [00:30<00:28, 4.50MB/s]
 55%|█████▍    | 152M/278M [00:30<00:28, 4.36MB/s]
 55%|█████▍    | 153M/278M [00:30<00:28, 4.42MB/s]
 55%|█████▌    | 153M/278M [00:30<00:27, 4.51MB/s]
 55%|█████▌    | 154M/278M [00:31<00:27, 4.58MB/s]
 55%|█████▌    | 154M/278M [00:31<00:27, 4.59MB/s]
 56%|█████▌    | 155M/278M [00:31<00:27, 4.48MB/s]
 56%|█████▌    | 155M/278M [00:31<00:27, 4.54MB/s]
 56%|█████▌    | 156M/278M [00:31<00:27, 4.51MB/s]
 56%|█████▌    | 156M/278M [00:31<00:27, 4.37MB/s]
 56%|█████▋    | 157M/278M [00:31<00:27, 4.42MB/s]
 57%|█████▋    | 157M/278M [00:31<00:27, 4.44MB/s]
 57%|█████▋    | 158M/278M [00:32<00:26, 4.48MB/s]
 57%|█████▋    | 158M/278M [00:32<00:27, 4.37MB/s]
 57%|█████▋    | 159M/278M [00:32<00:26, 4.43MB/s]
 57%|█████▋    | 159M/278M [00:32<00:26, 4.40MB/s]
 58%|█████▊    | 160M/278M [00:32<00:27, 4.36MB/s]
 58%|█████▊    | 160M/278M [00:32<00:27, 4.24MB/s]
 58%|█████▊    | 161M/278M [00:32<00:27, 4.19MB/s]
 58%|█████▊    | 161M/278M [00:32<00:27, 4.26MB/s]
 58%|█████▊    | 162M/278M [00:33<00:27, 4.23MB/s]
 58%|█████▊    | 163M/278M [00:33<00:26, 4.35MB/s]
 59%|█████▊    | 163M/278M [00:33<00:26, 4.34MB/s]
 59%|█████▉    | 164M/278M [00:33<00:26, 4.28MB/s]
 59%|█████▉    | 164M/278M [00:33<00:27, 4.15MB/s]
 59%|█████▉    | 165M/278M [00:33<00:26, 4.25MB/s]
 59%|█████▉    | 165M/278M [00:33<00:27, 4.06MB/s]
 60%|█████▉    | 166M/278M [00:33<00:27, 4.09MB/s]
 60%|█████▉    | 166M/278M [00:34<00:27, 4.08MB/s]
 60%|█████▉    | 167M/278M [00:34<00:26, 4.19MB/s]
 60%|██████    | 167M/278M [00:34<00:25, 4.27MB/s]
 60%|██████    | 168M/278M [00:34<00:25, 4.30MB/s]
 61%|██████    | 168M/278M [00:34<00:24, 4.42MB/s]
 61%|██████    | 169M/278M [00:34<00:24, 4.42MB/s]
 61%|██████    | 169M/278M [00:34<00:24, 4.39MB/s]
 61%|██████    | 170M/278M [00:34<00:24, 4.44MB/s]
 61%|██████▏   | 170M/278M [00:34<00:23, 4.51MB/s]
 61%|██████▏   | 171M/278M [00:35<00:23, 4.48MB/s]
 62%|██████▏   | 171M/278M [00:35<00:23, 4.51MB/s]
 62%|██████▏   | 172M/278M [00:35<00:24, 4.29MB/s]
 62%|██████▏   | 172M/278M [00:35<00:25, 4.19MB/s]
 62%|██████▏   | 173M/278M [00:35<00:24, 4.23MB/s]
 62%|██████▏   | 174M/278M [00:35<00:24, 4.26MB/s]
 63%|██████▎   | 174M/278M [00:35<00:25, 4.15MB/s]
 63%|██████▎   | 175M/278M [00:35<00:23, 4.32MB/s]
 63%|██████▎   | 175M/278M [00:36<00:24, 4.21MB/s]
 63%|██████▎   | 176M/278M [00:36<00:24, 4.14MB/s]
 63%|██████▎   | 176M/278M [00:36<00:24, 4.09MB/s]
 64%|██████▎   | 177M/278M [00:36<00:24, 4.10MB/s]
 64%|██████▎   | 177M/278M [00:36<00:23, 4.23MB/s]
 64%|██████▍   | 178M/278M [00:36<00:24, 4.15MB/s]
 64%|██████▍   | 178M/278M [00:36<00:24, 4.13MB/s]
 64%|██████▍   | 179M/278M [00:36<00:23, 4.25MB/s]
 65%|██████▍   | 179M/278M [00:37<00:23, 4.25MB/s]
 65%|██████▍   | 180M/278M [00:37<00:23, 4.20MB/s]
 65%|██████▍   | 180M/278M [00:37<00:22, 4.32MB/s]
 65%|██████▌   | 181M/278M [00:37<00:22, 4.31MB/s]
 65%|██████▌   | 181M/278M [00:37<00:22, 4.24MB/s]
 65%|██████▌   | 182M/278M [00:37<00:22, 4.25MB/s]
 66%|██████▌   | 182M/278M [00:37<00:22, 4.31MB/s]
 66%|██████▌   | 183M/278M [00:37<00:21, 4.36MB/s]
 66%|██████▌   | 184M/278M [00:38<00:21, 4.40MB/s]
 66%|██████▌   | 184M/278M [00:38<00:21, 4.46MB/s]
 66%|██████▋   | 185M/278M [00:38<00:21, 4.35MB/s]
 67%|██████▋   | 185M/278M [00:38<00:21, 4.32MB/s]
 67%|██████▋   | 186M/278M [00:38<00:21, 4.36MB/s]
 67%|██████▋   | 186M/278M [00:38<00:20, 4.46MB/s]
 67%|██████▋   | 187M/278M [00:38<00:20, 4.41MB/s]
 67%|██████▋   | 187M/278M [00:38<00:20, 4.41MB/s]
 68%|██████▊   | 188M/278M [00:39<00:21, 4.28MB/s]
 68%|██████▊   | 188M/278M [00:39<00:20, 4.35MB/s]
 68%|██████▊   | 189M/278M [00:39<00:20, 4.37MB/s]
 68%|██████▊   | 189M/278M [00:39<00:20, 4.36MB/s]
 68%|██████▊   | 190M/278M [00:39<00:19, 4.43MB/s]
 68%|██████▊   | 190M/278M [00:39<00:19, 4.50MB/s]
 69%|██████▊   | 191M/278M [00:39<00:20, 4.35MB/s]
 69%|██████▉   | 191M/278M [00:39<00:19, 4.39MB/s]
 69%|██████▉   | 192M/278M [00:39<00:19, 4.37MB/s]
 69%|██████▉   | 192M/278M [00:40<00:20, 4.21MB/s]
 69%|██████▉   | 193M/278M [00:40<00:19, 4.29MB/s]
 70%|██████▉   | 193M/278M [00:40<00:19, 4.31MB/s]
 70%|██████▉   | 194M/278M [00:40<00:19, 4.37MB/s]
 70%|██████▉   | 195M/278M [00:40<00:19, 4.28MB/s]
 70%|███████   | 195M/278M [00:40<00:19, 4.35MB/s]
 70%|███████   | 196M/278M [00:40<00:19, 4.34MB/s]
 71%|███████   | 196M/278M [00:40<00:18, 4.43MB/s]
 71%|███████   | 197M/278M [00:41<00:18, 4.41MB/s]
 71%|███████   | 197M/278M [00:41<00:18, 4.29MB/s]
 71%|███████   | 198M/278M [00:41<00:18, 4.40MB/s]
 71%|███████▏  | 198M/278M [00:41<00:18, 4.42MB/s]
 71%|███████▏  | 199M/278M [00:41<00:18, 4.35MB/s]
 72%|███████▏  | 199M/278M [00:41<00:18, 4.20MB/s]
 72%|███████▏  | 200M/278M [00:41<00:18, 4.34MB/s]
 72%|███████▏  | 200M/278M [00:41<00:18, 4.31MB/s]
 72%|███████▏  | 201M/278M [00:42<00:17, 4.36MB/s]
 72%|███████▏  | 201M/278M [00:42<00:17, 4.43MB/s]
 73%|███████▎  | 202M/278M [00:42<00:17, 4.47MB/s]
 73%|███████▎  | 202M/278M [00:42<00:16, 4.46MB/s]
 73%|███████▎  | 203M/278M [00:42<00:17, 4.41MB/s]
 73%|███████▎  | 203M/278M [00:42<00:16, 4.46MB/s]
 73%|███████▎  | 204M/278M [00:42<00:16, 4.45MB/s]
 74%|███████▎  | 204M/278M [00:42<00:16, 4.34MB/s]
 74%|███████▎  | 205M/278M [00:42<00:16, 4.31MB/s]
 74%|███████▍  | 206M/278M [00:43<00:16, 4.34MB/s]
 74%|███████▍  | 206M/278M [00:43<00:16, 4.26MB/s]
 74%|███████▍  | 207M/278M [00:43<00:16, 4.30MB/s]
 74%|███████▍  | 207M/278M [00:43<00:16, 4.26MB/s]
 75%|███████▍  | 208M/278M [00:43<00:16, 4.25MB/s]
 75%|███████▍  | 208M/278M [00:43<00:16, 4.24MB/s]
 75%|███████▌  | 209M/278M [00:43<00:16, 4.19MB/s]
 75%|███████▌  | 209M/278M [00:43<00:16, 4.30MB/s]
 75%|███████▌  | 210M/278M [00:44<00:15, 4.36MB/s]
 76%|███████▌  | 210M/278M [00:44<00:15, 4.34MB/s]
 76%|███████▌  | 211M/278M [00:44<00:15, 4.41MB/s]
 76%|███████▌  | 211M/278M [00:44<00:15, 4.29MB/s]
 76%|███████▌  | 212M/278M [00:44<00:15, 4.37MB/s]
 76%|███████▋  | 212M/278M [00:44<00:14, 4.44MB/s]
 77%|███████▋  | 213M/278M [00:44<00:14, 4.44MB/s]
 77%|███████▋  | 213M/278M [00:44<00:15, 4.24MB/s]
 77%|███████▋  | 214M/278M [00:45<00:14, 4.50MB/s]
 77%|███████▋  | 214M/278M [00:45<00:14, 4.53MB/s]
 77%|███████▋  | 215M/278M [00:45<00:14, 4.39MB/s]
 78%|███████▊  | 215M/278M [00:45<00:14, 4.43MB/s]
 78%|███████▊  | 216M/278M [00:45<00:13, 4.47MB/s]
 78%|███████▊  | 217M/278M [00:45<00:13, 4.42MB/s]
 78%|███████▊  | 217M/278M [00:45<00:13, 4.39MB/s]
 78%|███████▊  | 218M/278M [00:45<00:13, 4.32MB/s]
 78%|███████▊  | 218M/278M [00:45<00:13, 4.33MB/s]
 79%|███████▊  | 219M/278M [00:46<00:13, 4.29MB/s]
 79%|███████▉  | 219M/278M [00:46<00:13, 4.26MB/s]
 79%|███████▉  | 220M/278M [00:46<00:13, 4.31MB/s]
 79%|███████▉  | 220M/278M [00:46<00:13, 4.36MB/s]
 79%|███████▉  | 221M/278M [00:46<00:14, 4.09MB/s]
 80%|███████▉  | 221M/278M [00:46<00:13, 4.09MB/s]
 80%|███████▉  | 222M/278M [00:46<00:13, 4.08MB/s]
 80%|███████▉  | 222M/278M [00:47<00:13, 4.13MB/s]
 80%|████████  | 223M/278M [00:47<00:13, 4.22MB/s]
 80%|████████  | 223M/278M [00:47<00:13, 4.20MB/s]
 81%|████████  | 224M/278M [00:47<00:12, 4.24MB/s]
 81%|████████  | 224M/278M [00:47<00:12, 4.31MB/s]
 81%|████████  | 225M/278M [00:47<00:12, 4.26MB/s]
 81%|████████  | 225M/278M [00:47<00:12, 4.32MB/s]
 81%|████████▏ | 226M/278M [00:47<00:12, 4.25MB/s]
 81%|████████▏ | 226M/278M [00:47<00:11, 4.40MB/s]
 82%|████████▏ | 227M/278M [00:48<00:11, 4.41MB/s]
 82%|████████▏ | 228M/278M [00:48<00:11, 4.33MB/s]
 82%|████████▏ | 228M/278M [00:48<00:11, 4.35MB/s]
 82%|████████▏ | 229M/278M [00:48<00:11, 4.31MB/s]
 82%|████████▏ | 229M/278M [00:48<00:11, 4.34MB/s]
 83%|████████▎ | 230M/278M [00:48<00:10, 4.43MB/s]
 83%|████████▎ | 230M/278M [00:48<00:10, 4.43MB/s]
 83%|████████▎ | 231M/278M [00:48<00:10, 4.32MB/s]
 83%|████████▎ | 231M/278M [00:49<00:10, 4.30MB/s]
 83%|████████▎ | 232M/278M [00:49<00:10, 4.30MB/s]
 84%|████████▎ | 232M/278M [00:49<00:10, 4.31MB/s]
 84%|████████▎ | 233M/278M [00:49<00:10, 4.31MB/s]
 84%|████████▍ | 233M/278M [00:49<00:10, 4.34MB/s]
 84%|████████▍ | 234M/278M [00:49<00:10, 4.31MB/s]
 84%|████████▍ | 234M/278M [00:49<00:10, 4.33MB/s]
 84%|████████▍ | 235M/278M [00:49<00:09, 4.35MB/s]
 85%|████████▍ | 235M/278M [00:50<00:10, 4.20MB/s]
 85%|████████▍ | 236M/278M [00:50<00:09, 4.27MB/s]
 85%|████████▌ | 236M/278M [00:50<00:09, 4.25MB/s]
 85%|████████▌ | 237M/278M [00:50<00:09, 4.30MB/s]
 85%|████████▌ | 238M/278M [00:50<00:09, 4.35MB/s]
 86%|████████▌ | 238M/278M [00:50<00:09, 4.25MB/s]
 86%|████████▌ | 239M/278M [00:50<00:09, 4.26MB/s]
 86%|████████▌ | 239M/278M [00:50<00:08, 4.33MB/s]
 86%|████████▌ | 240M/278M [00:50<00:08, 4.41MB/s]
 86%|████████▋ | 240M/278M [00:51<00:08, 4.43MB/s]
 87%|████████▋ | 241M/278M [00:51<00:08, 4.40MB/s]
 87%|████████▋ | 241M/278M [00:51<00:08, 4.32MB/s]
 87%|████████▋ | 242M/278M [00:51<00:08, 4.36MB/s]
 87%|████████▋ | 242M/278M [00:51<00:08, 4.42MB/s]
 87%|████████▋ | 243M/278M [00:51<00:07, 4.46MB/s]
 88%|████████▊ | 243M/278M [00:51<00:07, 4.49MB/s]
 88%|████████▊ | 244M/278M [00:51<00:07, 4.32MB/s]
 88%|████████▊ | 244M/278M [00:52<00:07, 4.38MB/s]
 88%|████████▊ | 245M/278M [00:52<00:07, 4.56MB/s]
 88%|████████▊ | 245M/278M [00:52<00:07, 4.49MB/s]
 88%|████████▊ | 246M/278M [00:52<00:07, 4.44MB/s]
 89%|████████▊ | 246M/278M [00:52<00:07, 4.35MB/s]
 89%|████████▉ | 247M/278M [00:52<00:07, 4.38MB/s]
 89%|████████▉ | 247M/278M [00:52<00:06, 4.37MB/s]
 89%|████████▉ | 248M/278M [00:52<00:07, 4.27MB/s]
 89%|████████▉ | 249M/278M [00:53<00:07, 4.18MB/s]
 90%|████████▉ | 250M/278M [00:53<00:06, 4.69MB/s]
 90%|█████████ | 251M/278M [00:53<00:05, 4.95MB/s]
 91%|█████████ | 252M/278M [00:53<00:04, 5.27MB/s]
 91%|█████████ | 253M/278M [00:53<00:04, 5.41MB/s]
 91%|█████████▏| 254M/278M [00:53<00:04, 5.52MB/s]
 92%|█████████▏| 255M/278M [00:54<00:04, 5.72MB/s]
 92%|█████████▏| 256M/278M [00:54<00:03, 5.78MB/s]
 92%|█████████▏| 257M/278M [00:54<00:03, 5.94MB/s]
 93%|█████████▎| 258M/278M [00:54<00:03, 6.21MB/s]
 93%|█████████▎| 259M/278M [00:54<00:03, 6.06MB/s]
 94%|█████████▎| 260M/278M [00:54<00:02, 6.02MB/s]
 94%|█████████▍| 261M/278M [00:55<00:02, 6.05MB/s]
 94%|█████████▍| 262M/278M [00:55<00:02, 6.13MB/s]
 95%|█████████▍| 263M/278M [00:55<00:02, 6.54MB/s]
 95%|█████████▌| 264M/278M [00:55<00:02, 6.69MB/s]
 95%|█████████▌| 265M/278M [00:55<00:01, 6.89MB/s]
 96%|█████████▌| 266M/278M [00:55<00:01, 7.04MB/s]
 96%|█████████▌| 267M/278M [00:56<00:01, 7.10MB/s]
 97%|█████████▋| 268M/278M [00:56<00:01, 6.93MB/s]
 97%|█████████▋| 269M/278M [00:56<00:01, 7.37MB/s]
 97%|█████████▋| 271M/278M [00:56<00:00, 7.52MB/s]
 98%|█████████▊| 272M/278M [00:56<00:00, 7.46MB/s]
 98%|█████████▊| 273M/278M [00:56<00:00, 7.77MB/s]
 98%|█████████▊| 274M/278M [00:56<00:00, 7.79MB/s]
 99%|█████████▉| 275M/278M [00:56<00:00, 7.68MB/s]
 99%|█████████▉| 276M/278M [00:57<00:00, 7.81MB/s]
100%|█████████▉| 277M/278M [00:57<00:00, 8.05MB/s]
100%|█████████▉| 278M/278M [00:57<00:00, 7.50MB/s]
100%|██████████| 278M/278M [00:57<00:00, 4.84MB/s]
Downloaded data_global to /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/data_global.txt
Downloading data_JP from https://drive.google.com/uc?id=1IPBW4dRYk52x8TahfBqFOh3GdxoYafJ2...
Downloading...
From: https://drive.google.com/uc?id=1IPBW4dRYk52x8TahfBqFOh3GdxoYafJ2
To: /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/data_JP.txt

  0%|          | 0.00/28.7M [00:00<?, ?B/s]
  4%|▎         | 1.05M/28.7M [00:00<00:04, 6.00MB/s]
  7%|▋         | 2.10M/28.7M [00:00<00:04, 5.63MB/s]
 11%|█         | 3.15M/28.7M [00:00<00:04, 5.39MB/s]
 15%|█▍        | 4.19M/28.7M [00:00<00:04, 5.61MB/s]
 18%|█▊        | 5.24M/28.7M [00:00<00:04, 5.83MB/s]
 22%|██▏       | 6.29M/28.7M [00:01<00:03, 5.88MB/s]
 26%|██▌       | 7.34M/28.7M [00:01<00:03, 5.88MB/s]
 29%|██▉       | 8.39M/28.7M [00:01<00:03, 5.60MB/s]
 33%|███▎      | 9.44M/28.7M [00:01<00:03, 5.14MB/s]
 35%|███▍      | 9.96M/28.7M [00:01<00:03, 4.97MB/s]
 36%|███▋      | 10.5M/28.7M [00:01<00:03, 4.82MB/s]
 38%|███▊      | 11.0M/28.7M [00:02<00:03, 4.66MB/s]
 40%|████      | 11.5M/28.7M [00:02<00:03, 4.58MB/s]
 42%|████▏     | 12.1M/28.7M [00:02<00:03, 4.55MB/s]
 44%|████▍     | 12.6M/28.7M [00:02<00:03, 4.50MB/s]
 46%|████▌     | 13.1M/28.7M [00:02<00:03, 4.39MB/s]
 47%|████▋     | 13.6M/28.7M [00:02<00:03, 3.89MB/s]
 49%|████▉     | 14.2M/28.7M [00:02<00:03, 3.92MB/s]
 51%|█████     | 14.7M/28.7M [00:03<00:03, 3.69MB/s]
 53%|█████▎    | 15.2M/28.7M [00:03<00:03, 3.92MB/s]
 55%|█████▍    | 15.7M/28.7M [00:03<00:03, 4.12MB/s]
 57%|█████▋    | 16.3M/28.7M [00:03<00:03, 4.09MB/s]
 58%|█████▊    | 16.8M/28.7M [00:03<00:02, 4.07MB/s]
 60%|██████    | 17.3M/28.7M [00:03<00:02, 4.08MB/s]
 62%|██████▏   | 17.8M/28.7M [00:03<00:02, 3.77MB/s]
 64%|██████▍   | 18.4M/28.7M [00:03<00:02, 3.84MB/s]
 66%|██████▌   | 18.9M/28.7M [00:04<00:02, 3.94MB/s]
 67%|██████▋   | 19.4M/28.7M [00:04<00:02, 4.06MB/s]
 69%|██████▉   | 19.9M/28.7M [00:04<00:02, 4.18MB/s]
 71%|███████   | 20.4M/28.7M [00:04<00:01, 4.28MB/s]
 73%|███████▎  | 21.0M/28.7M [00:04<00:01, 4.40MB/s]
 75%|███████▍  | 21.5M/28.7M [00:04<00:01, 4.43MB/s]
 77%|███████▋  | 22.0M/28.7M [00:04<00:01, 4.47MB/s]
 78%|███████▊  | 22.5M/28.7M [00:04<00:01, 4.31MB/s]
 80%|████████  | 23.1M/28.7M [00:05<00:01, 4.35MB/s]
 82%|████████▏ | 23.6M/28.7M [00:05<00:01, 4.39MB/s]
 84%|████████▍ | 24.1M/28.7M [00:05<00:01, 4.20MB/s]
 86%|████████▌ | 24.6M/28.7M [00:05<00:00, 4.13MB/s]
 89%|████████▉ | 25.7M/28.7M [00:05<00:00, 4.71MB/s]
 93%|█████████▎| 26.7M/28.7M [00:05<00:00, 5.10MB/s]
 97%|█████████▋| 27.8M/28.7M [00:05<00:00, 5.38MB/s]
100%|██████████| 28.7M/28.7M [00:06<00:00, 4.99MB/s]
100%|██████████| 28.7M/28.7M [00:06<00:00, 4.66MB/s]
Downloaded data_JP to /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/data_JP.txt
gpu not detected
[Debug] Server running on IP: 172.17.0.2
//Log init_time: 80474.015 ms //end
Pretrain start time recorded.
//pretrain_time: 770.989 ms//end
Train start time recorded.
start training
global rounds: 0
Training in LP_train_global_round, number of clients: 1
(pid=1492) FedGraph Differential Privacy module loaded (v1.0.0)
(pid=1492) ✓ Differential Privacy support loaded
(Trainer pid=1492) checking code and file path: JP,/home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset
(Trainer pid=1492) printing in getdata, path: /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset
(Trainer pid=1492) Loading data in /home/docs/checkouts/readthedocs.org/user_builds/fedgraph/checkouts/latest/data/LPDataset/data_JP.txt
(Trainer pid=1492) Device: 'cpu'
(Trainer pid=1492) [Debug] Trainer running on node IP: 172.17.0.2
(Trainer pid=1492) loading train_data and test_data
(Trainer pid=1492) client 0 local steps 0 loss 0.7620 train time 7.5717
(Trainer pid=1492) client 0 local steps 1 loss 0.6570 train time 6.8378
clientId: 0 current_loss: 0.5707904696464539 train_finish_times: [7.571671724319458, 6.837818384170532, 6.966140031814575]
(Trainer pid=1492) client 0 local steps 2 loss 0.5708 train time 6.9661
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.725887656211853 hit rate: 0.8578187823295593 traveled user hit rate: 0.8571428656578064
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.725887656211853 hit rate: 0.8578187823295593 traveled user hit rate: 0.8571428656578064

Predict Day 20 average auc score: 0.725887656211853 hit rate: 0.8578187823295593
global rounds: 1
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.7259
(Trainer pid=1492) Test Hit Rate at 2: 0.8578
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.8571
(Trainer pid=1492) client 0 local steps 0 loss 0.4959 train time 7.5189
(Trainer pid=1492) client 0 local steps 1 loss 0.4305 train time 7.4962
clientId: 0 current_loss: 0.3744228780269623 train_finish_times: [7.518876075744629, 7.4961724281311035, 7.504389762878418]
(Trainer pid=1492) client 0 local steps 2 loss 0.3744 train time 7.5044
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8060541749000549 hit rate: 0.9063165187835693 traveled user hit rate: 0.8571428656578064
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8060541749000549 hit rate: 0.9063165187835693 traveled user hit rate: 0.8571428656578064

Predict Day 20 average auc score: 0.8060541749000549 hit rate: 0.9063165187835693
global rounds: 2
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.8061
(Trainer pid=1492) Test Hit Rate at 2: 0.9063
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.8571
(Trainer pid=1492) client 0 local steps 0 loss 0.3270 train time 7.5320
(Trainer pid=1492) client 0 local steps 1 loss 0.2877 train time 7.4856
clientId: 0 current_loss: 0.2560769021511078 train_finish_times: [7.532029628753662, 7.485605001449585, 7.341177463531494]
(Trainer pid=1492) client 0 local steps 2 loss 0.2561 train time 7.3412
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8160625696182251 hit rate: 0.9104565978050232 traveled user hit rate: 0.7142857313156128
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8160625696182251 hit rate: 0.9104565978050232 traveled user hit rate: 0.7142857313156128

Predict Day 20 average auc score: 0.8160625696182251 hit rate: 0.9104565978050232
global rounds: 3
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.8161
(Trainer pid=1492) Test Hit Rate at 2: 0.9105
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.7143
(Trainer pid=1492) client 0 local steps 0 loss 0.2319 train time 7.5213
(Trainer pid=1492) client 0 local steps 1 loss 0.2142 train time 7.4999
clientId: 0 current_loss: 0.20174483954906464 train_finish_times: [7.521289348602295, 7.499852657318115, 7.4969563484191895]
(Trainer pid=1492) client 0 local steps 2 loss 0.2017 train time 7.4970
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8187373280525208 hit rate: 0.9115211963653564 traveled user hit rate: 0.7142857313156128
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8187373280525208 hit rate: 0.9115211963653564 traveled user hit rate: 0.7142857313156128

Predict Day 20 average auc score: 0.8187373280525208 hit rate: 0.9115211963653564
global rounds: 4
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.8187
(Trainer pid=1492) Test Hit Rate at 2: 0.9115
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.7143
(Trainer pid=1492) client 0 local steps 0 loss 0.1929 train time 7.5994
(Trainer pid=1492) client 0 local steps 1 loss 0.1863 train time 7.5615
clientId: 0 current_loss: 0.18092815577983856 train_finish_times: [7.599402189254761, 7.56146764755249, 7.551859140396118]
(Trainer pid=1492) client 0 local steps 2 loss 0.1809 train time 7.5519
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8205687403678894 hit rate: 0.9125857353210449 traveled user hit rate: 0.7142857313156128
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8205687403678894 hit rate: 0.9125857353210449 traveled user hit rate: 0.7142857313156128

Predict Day 20 average auc score: 0.8205687403678894 hit rate: 0.9125857353210449
global rounds: 5
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.8206
(Trainer pid=1492) Test Hit Rate at 2: 0.9126
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.7143
(Trainer pid=1492) client 0 local steps 0 loss 0.1762 train time 7.3947
(Trainer pid=1492) client 0 local steps 1 loss 0.1718 train time 7.5325
clientId: 0 current_loss: 0.16746732592582703 train_finish_times: [7.394701242446899, 7.532470464706421, 7.567038059234619]
(Trainer pid=1492) client 0 local steps 2 loss 0.1675 train time 7.5670
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8222439289093018 hit rate: 0.9142417907714844 traveled user hit rate: 0.8571428656578064
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8222439289093018 hit rate: 0.9142417907714844 traveled user hit rate: 0.8571428656578064

Predict Day 20 average auc score: 0.8222439289093018 hit rate: 0.9142417907714844
global rounds: 6
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.8222
(Trainer pid=1492) Test Hit Rate at 2: 0.9142
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.8571
(Trainer pid=1492) client 0 local steps 0 loss 0.1632 train time 7.5034
(Trainer pid=1492) client 0 local steps 1 loss 0.1590 train time 7.5751
clientId: 0 current_loss: 0.15497678518295288 train_finish_times: [7.503385305404663, 7.575108051300049, 7.536822319030762]
(Trainer pid=1492) client 0 local steps 2 loss 0.1550 train time 7.5368
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8237707614898682 hit rate: 0.9160161018371582 traveled user hit rate: 0.8571428656578064
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8237707614898682 hit rate: 0.9160161018371582 traveled user hit rate: 0.8571428656578064

Predict Day 20 average auc score: 0.8237707614898682 hit rate: 0.9160161018371582
global rounds: 7
Training in LP_train_global_round, number of clients: 1
(Trainer pid=1492) Test AUC: 0.8238
(Trainer pid=1492) Test Hit Rate at 2: 0.9160
(Trainer pid=1492) Test Traveled User Hit Rate at 2: 0.8571
(Trainer pid=1492) client 0 local steps 0 loss 0.1511 train time 7.1909
(Trainer pid=1492) client 0 local steps 1 loss 0.1473 train time 7.4756
clientId: 0 current_loss: 0.14378239214420319 train_finish_times: [7.190863609313965, 7.475560188293457, 7.507555246353149]
(Trainer pid=1492) client 0 local steps 2 loss 0.1438 train time 7.5076
//Log Theoretical Embedding Communication Cost Added (Train Phase): 594.87 MB //end
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) auc score: 0.8251597285270691 hit rate: 0.9166074991226196 traveled user hit rate: 0.8571428656578064
Day 0 client Actor(run_LP.<locals>.setup_trainer_server.<locals>.Trainer, e7f7c3f9caa8f0dcff36fa8501000000) final auc score: 0.8251597285270691 hit rate: 0.9166074991226196 traveled user hit rate: 0.8571428656578064

Predict Day 20 average auc score: 0.8251597285270691 hit rate: 0.9166074991226196
training is not complete
//train_time: 235517.795 ms//end
//Log Theoretical Pretrain Comm Cost: 0.00 MB //end
//Log Theoretical Train Comm Cost: 9519.91 MB //end
The whole process has ended

Total running time of the script: (5 minutes 24.053 seconds)

Download Jupyter notebook: FGL_LP.ipynb

Download Python source code: FGL_LP.py

Download zipped: FGL_LP.zip

Gallery generated by Sphinx-Gallery

Previous Next

© Copyright 2024 FedGraph Team.

Built with Sphinx using a theme provided by Read the Docs.