Quickstart#
In this guide, we will train a simple Convolutional Neural Network (CNN) on MNIST handwritten digits dataset. We will simulate a Federated Learning experiment between two collaborators, orchestrated by an aggregator, using the TaskRunner CLI interface.
OpenFL must be installed for this tutorial. Refer to the installation guide.
# Suppress TensorFlow warnings
%env TF_CPP_MIN_LOG_LEVEL=3
env: TF_CPP_MIN_LOG_LEVEL=3
Create a workspace#
For brevity, we will reuse an existing workspace.
!fx workspace create --prefix ./mnist_example --template keras_cnn_mnist
%cd ./mnist_example
Creating Workspace Directories
Creating Workspace Templates from /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/keras_cnn_mnist in /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example
Collecting keras==3.6.0 (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading keras-3.6.0-py3-none-any.whl.metadata (5.8 kB)
Collecting tensorflow==2.18.0 (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading tensorflow-2.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)
Collecting absl-py (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading absl_py-2.1.0-py3-none-any.whl.metadata (2.3 kB)
Requirement already satisfied: numpy in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (2.2.1)
Requirement already satisfied: rich in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (13.9.4)
Collecting namex (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading namex-0.0.8-py3-none-any.whl.metadata (246 bytes)
Collecting h5py (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading h5py-3.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.5 kB)
Collecting optree (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading optree-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (47 kB)
Collecting ml-dtypes (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading ml_dtypes-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)
Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (24.2)
Collecting astunparse>=1.6.0 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading astunparse-1.6.3-py2.py3-none-any.whl.metadata (4.4 kB)
Collecting flatbuffers>=24.3.25 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading flatbuffers-24.12.23-py2.py3-none-any.whl.metadata (876 bytes)
Collecting gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading gast-0.6.0-py3-none-any.whl.metadata (1.3 kB)
Collecting google-pasta>=0.1.1 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading google_pasta-0.2.0-py3-none-any.whl.metadata (814 bytes)
Collecting libclang>=13.0.0 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl.metadata (5.2 kB)
Collecting opt-einsum>=2.3.2 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading opt_einsum-3.4.0-py3-none-any.whl.metadata (6.3 kB)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev,>=3.20.3 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (5.29.3)
Requirement already satisfied: requests<3,>=2.21.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.32.3)
Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (75.8.0)
Requirement already satisfied: six>=1.12.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (1.17.0)
Collecting termcolor>=1.1.0 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading termcolor-2.5.0-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: typing-extensions>=3.6.6 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (4.12.2)
Collecting wrapt>=1.11.0 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.4 kB)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (1.65.5)
Collecting tensorboard<2.19,>=2.18 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading tensorboard-2.18.0-py3-none-any.whl.metadata (1.6 kB)
Collecting numpy (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Collecting ml-dtypes (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)
Collecting tensorflow-io-gcs-filesystem>=0.23.1 (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading tensorflow_io_gcs_filesystem-0.37.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)
Requirement already satisfied: wheel<1.0,>=0.23.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from astunparse>=1.6.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (0.40.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.4.1)
Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.3.0)
Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2024.12.14)
Collecting markdown>=2.6.8 (from tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading Markdown-3.7-py3-none-any.whl.metadata (7.0 kB)
Collecting tensorboard-data-server<0.8.0,>=0.7.0 (from tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl.metadata (1.1 kB)
Collecting werkzeug>=1.0.1 (from tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading werkzeug-3.1.3-py3-none-any.whl.metadata (3.7 kB)
Requirement already satisfied: markdown-it-py>=2.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (3.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (2.19.1)
Requirement already satisfied: mdurl~=0.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (0.1.2)
Requirement already satisfied: MarkupSafe>=2.1.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from werkzeug>=1.0.1->tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.0.2)
Downloading keras-3.6.0-py3-none-any.whl (1.2 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/1.2 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 36.6 MB/s eta 0:00:00
?25hDownloading tensorflow-2.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (615.3 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/615.3 MB ? eta -:--:--
━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 32.8/615.3 MB 163.9 MB/s eta 0:00:04
━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67.9/615.3 MB 170.6 MB/s eta 0:00:04
━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.8/615.3 MB 181.5 MB/s eta 0:00:03
━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.0/615.3 MB 194.4 MB/s eta 0:00:03
━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━ 209.7/615.3 MB 207.5 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━ 262.1/615.3 MB 215.9 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━ 313.3/615.3 MB 236.2 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━ 366.2/615.3 MB 251.9 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━ 408.9/615.3 MB 248.2 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━ 457.2/615.3 MB 245.9 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━ 512.5/615.3 MB 249.0 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━ 567.0/615.3 MB 251.0 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 609.7/615.3 MB 242.0 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 238.6 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 615.3/615.3 MB 27.3 MB/s eta 0:00:00
?25hDownloading absl_py-2.1.0-py3-none-any.whl (133 kB)
Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Downloading flatbuffers-24.12.23-py2.py3-none-any.whl (30 kB)
Downloading gast-0.6.0-py3-none-any.whl (21 kB)
Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)
Downloading h5py-3.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/5.3 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 113.6 MB/s eta 0:00:00
?25hDownloading libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl (24.5 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/24.5 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.5/24.5 MB 131.3 MB/s eta 0:00:00
?25hDownloading ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/2.2 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 122.4 MB/s eta 0:00:00
?25hDownloading numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.5 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/19.5 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.5/19.5 MB 123.9 MB/s eta 0:00:00
?25hDownloading opt_einsum-3.4.0-py3-none-any.whl (71 kB)
Downloading tensorboard-2.18.0-py3-none-any.whl (5.5 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/5.5 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5/5.5 MB 116.0 MB/s eta 0:00:00
?25hDownloading tensorflow_io_gcs_filesystem-0.37.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/5.1 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 118.5 MB/s eta 0:00:00
?25hDownloading termcolor-2.5.0-py3-none-any.whl (7.8 kB)
Downloading wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82 kB)
Downloading namex-0.0.8-py3-none-any.whl (5.8 kB)
Downloading optree-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391 kB)
Downloading Markdown-3.7-py3-none-any.whl (106 kB)
Downloading tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl (6.6 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/6.6 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.6/6.6 MB 125.1 MB/s eta 0:00:00
?25hDownloading werkzeug-3.1.3-py3-none-any.whl (224 kB)
Installing collected packages: namex, libclang, flatbuffers, wrapt, werkzeug, termcolor, tensorflow-io-gcs-filesystem, tensorboard-data-server, optree, opt-einsum, numpy, markdown, google-pasta, gast, astunparse, absl-py, tensorboard, ml-dtypes, h5py, keras, tensorflow
Attempting uninstall: numpy
Found existing installation: numpy 2.2.1
Uninstalling numpy-2.2.1:
Successfully uninstalled numpy-2.2.1
Successfully installed absl-py-2.1.0 astunparse-1.6.3 flatbuffers-24.12.23 gast-0.6.0 google-pasta-0.2.0 h5py-3.12.1 keras-3.6.0 libclang-18.1.1 markdown-3.7 ml-dtypes-0.4.1 namex-0.0.8 numpy-2.0.2 opt-einsum-3.4.0 optree-0.14.0 tensorboard-2.18.0 tensorboard-data-server-0.7.2 tensorflow-2.18.0 tensorflow-io-gcs-filesystem-0.37.1 termcolor-2.5.0 werkzeug-3.1.3 wrapt-1.17.2
Successfully installed packages from /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt.
[22:20:51] INFO Loading DEFAULTS for section aggregator from file ]8;id=352322;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=53019;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/aggregator.yaml.
INFO Loading DEFAULTS for section assigner from file ]8;id=858877;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=12497;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/assigner.yaml.
INFO Loading DEFAULTS for section collaborator from file ]8;id=389555;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=570122;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/collaborator.yam
l.
INFO Loading DEFAULTS for section compression_pipeline from file ]8;id=863006;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=434023;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/compression_pipe
line.yaml.
INFO Loading DEFAULTS for section data_loader from file ]8;id=761919;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=292184;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/data_loader.yaml
.
INFO Loading DEFAULTS for section network from file ]8;id=93902;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=565702;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/network.yaml.
INFO Loading DEFAULTS for section task_runner from file ]8;id=642871;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=221871;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/task_runner.yaml
.
INFO Loading DEFAULTS for section tasks from file ]8;id=798662;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=176434;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/workspace/plan/defaults/tasks_keras.yaml
.
INFO FL-Plan hash is a1113de951ee54ee07f35f92fd44e9bae930ef8acea7b15cab53cd67d3dcb9cdfa8aa9dc9230c03da7fd0e78b52b5bca ]8;id=844110;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=154554;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO FL-Plan hash is bff00735b75404236959f1888f251b222a20e5cd353e0fa32a52cf49f80b03696ea467c338da9b592510e81f2f81466b ]8;id=235258;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=400200;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=904280;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=71991;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl-workspace/keras_cnn_mnist/plan/plan.yaml.
INFO aggregator: ]8;id=977226;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=619811;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#198\198]8;;\
settings:
best_state_path: save/best.pbuf
db_store_rounds: 2
init_state_path: save/init.pbuf
last_state_path: save/last.pbuf
rounds_to_train: 10
template: openfl.component.Aggregator
assigner:
settings:
task_groups:
- name: learning
percentage: 1.0
tasks:
- aggregated_model_validation
- train
- locally_tuned_model_validation
template: openfl.component.RandomGroupedAssigner
collaborator:
settings:
db_store_rounds: 1
delta_updates: false
opt_treatment: RESET
template: openfl.component.Collaborator
compression_pipeline:
settings: {}
template: openfl.pipelines.NoCompressionPipeline
data_loader:
settings:
batch_size: 256
collaborator_count: 2
data_group_name: mnist
template: src.dataloader.KerasMNISTInMemory
network:
settings:
agg_addr: build-26889138-project-638300-openfl
agg_port: 59282
cert_folder: cert
client_reconnect_interval: 5
hash_salt: auto
require_client_auth: true
use_tls: true
template: openfl.federation.Network
task_runner:
settings: {}
template: src.taskrunner.KerasCNN
tasks:
aggregated_model_validation:
function: validate_task
kwargs:
apply: global
batch_size: 32
metrics:
- accuracy
locally_tuned_model_validation:
function: validate_task
kwargs:
apply: local
batch_size: 32
metrics:
- accuracy
settings: {}
train:
function: train_task
kwargs:
batch_size: 32
epochs: 1
metrics:
- loss
New workspace directory structure:
mnist_example
├── plan
│ ├── plan.yaml
│ ├── cols.yaml
│ ├── data.yaml
│ └── defaults
├── cert
├── logs
├── save
├── src
│ ├── mnist_utils.py
│ ├── taskrunner.py
│ ├── __init__.py
│ └── dataloader.py
├── requirements.txt
├── data
└── .workspace
6 directories, 10 files
✔️ OK
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/IPython/core/magics/osm.py:417: UserWarning: This is now an optional IPython functionality, setting dhist requires you to install the `pickleshare` library.
self.shell.db['dhist'] = compress_dhist(dhist)[-100:]
Initialize a Plan#
This step builds an entire FL experiment plan, along with the initial set of parameters that will be used in the experiment.
We supply localhost as the aggregator address, for simulation purposes.
!fx plan initialize -a localhost
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152452.199799 640 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152452.203643 640 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
Requirement already satisfied: keras==3.6.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (3.6.0)
Requirement already satisfied: tensorflow==2.18.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.18.0)
Requirement already satisfied: absl-py in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (2.1.0)
Requirement already satisfied: numpy in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (2.0.2)
Requirement already satisfied: rich in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (13.9.4)
Requirement already satisfied: namex in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (0.0.8)
Requirement already satisfied: h5py in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (3.12.1)
Requirement already satisfied: optree in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (0.14.0)
Requirement already satisfied: ml-dtypes in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (0.4.1)
Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (24.2)
Requirement already satisfied: astunparse>=1.6.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (1.6.3)
Requirement already satisfied: flatbuffers>=24.3.25 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (24.12.23)
Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (0.6.0)
Requirement already satisfied: google-pasta>=0.1.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (0.2.0)
Requirement already satisfied: libclang>=13.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (18.1.1)
Requirement already satisfied: opt-einsum>=2.3.2 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.4.0)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev,>=3.20.3 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (5.29.3)
Requirement already satisfied: requests<3,>=2.21.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.32.3)
Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (75.8.0)
Requirement already satisfied: six>=1.12.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (1.17.0)
Requirement already satisfied: termcolor>=1.1.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.5.0)
Requirement already satisfied: typing-extensions>=3.6.6 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (4.12.2)
Requirement already satisfied: wrapt>=1.11.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (1.17.2)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (1.65.5)
Requirement already satisfied: tensorboard<2.19,>=2.18 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.18.0)
Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (0.37.1)
Requirement already satisfied: wheel<1.0,>=0.23.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from astunparse>=1.6.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (0.40.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.4.1)
Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2.3.0)
Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (2024.12.14)
Requirement already satisfied: markdown>=2.6.8 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.7)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (0.7.2)
Requirement already satisfied: werkzeug>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.1.3)
Requirement already satisfied: markdown-it-py>=2.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (3.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (2.19.1)
Requirement already satisfied: mdurl~=0.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 1)) (0.1.2)
Requirement already satisfied: MarkupSafe>=2.1.1 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages (from werkzeug>=1.0.1->tensorboard<2.19,>=2.18->tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt (line 2)) (3.0.2)
Successfully installed packages from /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/requirements.txt.
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152456.357842 640 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152456.361773 640 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
[22:20:58] INFO FL-Plan hash is ccab021654f48fa1b901c963154e9be62634e740c520d465f89c0338a92102c6573cd6cb8c1e94aa776d34f2ac4aad25 ]8;id=96604;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=196359;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=428794;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=682613;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=435901;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=478353;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#198\198]8;;\
settings:
best_state_path: save/best.pbuf
db_store_rounds: 2
init_state_path: save/init.pbuf
last_state_path: save/last.pbuf
rounds_to_train: 10
template: openfl.component.Aggregator
assigner:
settings:
task_groups:
- name: learning
percentage: 1.0
tasks:
- aggregated_model_validation
- train
- locally_tuned_model_validation
template: openfl.component.RandomGroupedAssigner
collaborator:
settings:
db_store_rounds: 1
delta_updates: false
opt_treatment: RESET
template: openfl.component.Collaborator
compression_pipeline:
settings: {}
template: openfl.pipelines.NoCompressionPipeline
data_loader:
settings:
batch_size: 256
collaborator_count: 2
data_group_name: mnist
template: src.dataloader.KerasMNISTInMemory
network:
settings:
agg_addr: build-26889138-project-638300-openfl
agg_port: 59282
cert_folder: cert
client_reconnect_interval: 5
hash_salt: auto
require_client_auth: true
use_tls: true
template: openfl.federation.Network
task_runner:
settings: {}
template: src.taskrunner.KerasCNN
tasks:
aggregated_model_validation:
function: validate_task
kwargs:
apply: global
batch_size: 32
metrics:
- accuracy
locally_tuned_model_validation:
function: validate_task
kwargs:
apply: local
batch_size: 32
metrics:
- accuracy
settings: {}
train:
function: train_task
kwargs:
batch_size: 32
epochs: 1
metrics:
- loss
INFO Building `src.dataloader.KerasMNISTInMemory` Module. ]8;id=41858;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=552465;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
8192/11490434 [..............................] - ETA: 0s
1024000/11490434 [=>............................] - ETA: 0s
6512640/11490434 [================>.............] - ETA: 0s
7921664/11490434 [===================>..........] - ETA: 0s
11493376/11490434 [==============================] - 0s 0us/step
[22:20:59] INFO MNIST > X_train Shape : (30000, 28, 28, 1) ]8;id=519372;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=316372;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#108\108]8;;\
INFO MNIST > y_train Shape : (30000,) ]8;id=539519;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=63209;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#109\109]8;;\
INFO MNIST > Train Samples : 30000 ]8;id=8707;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=571405;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#110\110]8;;\
INFO MNIST > Valid Samples : 5000 ]8;id=784024;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=666677;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#111\111]8;;\
INFO Building `src.taskrunner.KerasCNN` Module. ]8;id=182271;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=614718;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
super().__init__(activity_regularizer=activity_regularizer, **kwargs)
INFO Model: "sequential" ]8;id=519184;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/utils/summary_utils.py\summary_utils.py]8;;\:]8;id=367526;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/utils/summary_utils.py#389\389]8;;\
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type) ┃ Output Shape ┃ Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d (Conv2D) │ (None, 13, 13, 16) │ 272 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_1 (Conv2D) │ (None, 5, 5, 32) │ 8,224 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ flatten (Flatten) │ (None, 800) │ 0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense (Dense) │ (None, 100) │ 80,100 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_1 (Dense) │ (None, 10) │ 1,010 │
└─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 89,606 (350.02 KB)
Trainable params: 89,606 (350.02 KB)
Non-trainable params: 0 (0.00 B)
INFO Train Set Size : 30000 ]8;id=571765;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=623995;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py#32\32]8;;\
INFO Valid Set Size : 5000 ]8;id=812229;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=693735;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py#33\33]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=252332;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=810007;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
WARNING Following parameters omitted from global initial model, local initialization will determine values: [] ]8;id=345336;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py\plan.py]8;;\:]8;id=983002;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py#186\186]8;;\
INFO Creating Initial Weights File 🠆 save/init.pbuf ]8;id=931648;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py\plan.py]8;;\:]8;id=611902;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py#196\196]8;;\
WARNING Patching Aggregator Addr in Plan 🠆 localhost ]8;id=310081;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py\plan.py]8;;\:]8;id=829732;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py#209\209]8;;\
INFO FL-Plan hash is f185582a79bcb3638a9d17256e2384ca80deaab0aac553a86b7b427c149ad6b907426005cec9e6b07259265de7adaef2 ]8;id=363865;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=917971;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO ['plan_f185582a'] ]8;id=445063;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py\plan.py]8;;\:]8;id=351647;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/plan.py#223\223]8;;\
✔️ OK
Create an aggregator, and its key-pair#
!fx aggregator generate-cert-request --fqdn localhost
!fx aggregator certify --fqdn localhost --silent
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152465.177808 666 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152465.181686 666 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
Creating AGGREGATOR certificate key pair with following settings: CN=localhost, SAN=DNS:localhost
Writing AGGREGATOR certificate key pair to: /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/cert/server
The CSR Hash 06c5645ddf15d63142745669d92b659ea5315268a10e82e0896551cbfa487addb9c97e8e1361825c25338b61f5be5661
✔️ OK
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152469.193325 672 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152469.197205 672 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
The CSR Hash for file server/agg_localhost.csr = 06c5645ddf15d63142745669d92b659ea5315268a10e82e0896551cbfa487addb9c97e8e1361825c25338b61f5be5661
Warning: manual check of certificate hashes is bypassed in silent mode.
Signing AGGREGATOR certificate
✔️ OK
Create collaborators, and their key-pairs#
We will name our first collaborator bob.
!fx collaborator create -d 0 -n bob --silent
!fx collaborator generate-cert-request -n bob --silent
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152473.277271 678 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152473.281113 678 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
✔️ OK
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152477.208685 684 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152477.212546 684 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
Creating COLLABORATOR certificate key pair with following settings: CN=bob, SAN=DNS:bob
Moving COLLABORATOR certificate to: /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/cert/col_bob
The CSR Hash 4c56d299b6d86f6deee3a4bdc33818f8d34cdeb9eea528baf9a6262cd1413cfe58f9a6b5a59c1e25b999da46577667f5
Archive col_bob_to_agg_cert_request.zip with certificate signing request created
This file should be sent to the certificate authority (typically hosted by the aggregator) for signing
✔️ OK
Certify bob with the CA.
Note: This is a command that runs on the
aggregatorside.bob’s certificate signing request (CSR) is sent to theaggregator, which then signs the certificate with the CA. The signed certificate then has to be sent back tobob.
!fx collaborator certify --request-pkg col_bob_to_agg_cert_request.zip --silent
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152481.227417 690 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152481.231268 690 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
The CSR Hash for file col_bob.csr is 4c56d299b6d86f6deee3a4bdc33818f8d34cdeb9eea528baf9a6262cd1413cfe58f9a6b5a59c1e25b999da46577667f5
Signing COLLABORATOR certificate, Warning: manual check of certificate hashes is bypassed in silent mode.
Registering bob in /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/plan/cols.yaml
✔️ OK
And the second collaborator charlie.
!fx collaborator create -d 1 -n charlie --silent
!fx collaborator generate-cert-request -n charlie --silent
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152485.229270 696 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152485.233400 696 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
✔️ OK
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152489.165177 702 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152489.169118 702 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
Creating COLLABORATOR certificate key pair with following settings: CN=charlie, SAN=DNS:charlie
Moving COLLABORATOR certificate to: /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/cert/col_charlie
The CSR Hash 7506d61abab5654815d4f9f1abbcc8e76fa82c1ef57efd8b0ee9b0cca1871cd96751ce38242ee226dbdbf849107d86c1
Archive col_charlie_to_agg_cert_request.zip with certificate signing request created
This file should be sent to the certificate authority (typically hosted by the aggregator) for signing
✔️ OK
Certify charlie with the CA.
Note: This is a command that runs on the
aggregatorside.charlie’s certificate signing request (CSR) is sent to theaggregator, which then signs the certificate with the CA. The signed certificate then has to be sent back tocharlie.
!fx collaborator certify --request-pkg col_charlie_to_agg_cert_request.zip --silent
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152493.248773 708 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152493.252618 708 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
The CSR Hash for file col_charlie.csr is 7506d61abab5654815d4f9f1abbcc8e76fa82c1ef57efd8b0ee9b0cca1871cd96751ce38242ee226dbdbf849107d86c1
Signing COLLABORATOR certificate, Warning: manual check of certificate hashes is bypassed in silent mode.
Registering charlie in /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/plan/cols.yaml
✔️ OK
Import CA signed certificates#
This step imports the CA-signed certificates of the collaborator and the aggregator into the workspace.
Note: This command runs on respective collaborator sites.
!fx collaborator certify --import agg_to_col_bob_signed_cert.zip
!fx collaborator certify --import agg_to_col_charlie_signed_cert.zip
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152497.342898 714 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152497.347865 714 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
Certificate updated in the PKI directory
✔️ OK
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152501.279626 720 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152501.283451 720 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
Certificate updated in the PKI directory
✔️ OK
Start the simulation#
This step starts the simulation of the FL experiment. The aggregator will orchestrate the training process between the collaborators.
!fx aggregator start & fx collaborator start -n bob & fx collaborator start -n charlie
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152505.737535 728 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152505.750676 728 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152505.831356 726 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152505.837438 726 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1737152505.994504 727 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1737152506.021403 727 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
[22:21:52] INFO FL-Plan hash is f185582a79bcb3638a9d17256e2384ca80deaab0aac553a86b7b427c149ad6b907426005cec9e6b07259265de7adaef2 ]8;id=809219;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=574288;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=883712;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=882807;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=393592;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=941473;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#198\198]8;;\
settings:
best_state_path: save/best.pbuf
db_store_rounds: 2
init_state_path: save/init.pbuf
last_state_path: save/last.pbuf
rounds_to_train: 10
template: openfl.component.Aggregator
assigner:
settings:
task_groups:
- name: learning
percentage: 1.0
tasks:
- aggregated_model_validation
- train
- locally_tuned_model_validation
template: openfl.component.RandomGroupedAssigner
collaborator:
settings:
db_store_rounds: 1
delta_updates: false
opt_treatment: RESET
template: openfl.component.Collaborator
compression_pipeline:
settings: {}
template: openfl.pipelines.NoCompressionPipeline
data_loader:
settings:
batch_size: 256
collaborator_count: 2
data_group_name: mnist
template: src.dataloader.KerasMNISTInMemory
network:
settings:
agg_addr: localhost
agg_port: 59282
cert_folder: cert
client_reconnect_interval: 5
hash_salt: auto
require_client_auth: true
use_tls: true
template: openfl.federation.Network
task_runner:
settings: {}
template: src.taskrunner.KerasCNN
tasks:
aggregated_model_validation:
function: validate_task
kwargs:
apply: global
batch_size: 32
metrics:
- accuracy
locally_tuned_model_validation:
function: validate_task
kwargs:
apply: local
batch_size: 32
metrics:
- accuracy
settings: {}
train:
function: train_task
kwargs:
batch_size: 32
epochs: 1
metrics:
- loss
Data = {'one': '1', 'bob': '0', 'charlie': '1'}
INFO 🧿 Starting a Collaborator Service. ]8;id=36376;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/collaborator.py\collaborator.py]8;;\:]8;id=96619;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/collaborator.py#85\85]8;;\
INFO Building `src.dataloader.KerasMNISTInMemory` Module. ]8;id=639015;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=115312;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
warnings.warn(
[22:21:52] INFO FL-Plan hash is f185582a79bcb3638a9d17256e2384ca80deaab0aac553a86b7b427c149ad6b907426005cec9e6b07259265de7adaef2 ]8;id=166941;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=552250;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=109860;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=463546;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=186731;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=700402;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#198\198]8;;\
settings:
best_state_path: save/best.pbuf
db_store_rounds: 2
init_state_path: save/init.pbuf
last_state_path: save/last.pbuf
rounds_to_train: 10
template: openfl.component.Aggregator
assigner:
settings:
task_groups:
- name: learning
percentage: 1.0
tasks:
- aggregated_model_validation
- train
- locally_tuned_model_validation
template: openfl.component.RandomGroupedAssigner
collaborator:
settings:
db_store_rounds: 1
delta_updates: false
opt_treatment: RESET
template: openfl.component.Collaborator
compression_pipeline:
settings: {}
template: openfl.pipelines.NoCompressionPipeline
data_loader:
settings:
batch_size: 256
collaborator_count: 2
data_group_name: mnist
template: src.dataloader.KerasMNISTInMemory
network:
settings:
agg_addr: localhost
agg_port: 59282
cert_folder: cert
client_reconnect_interval: 5
hash_salt: auto
require_client_auth: true
use_tls: true
template: openfl.federation.Network
task_runner:
settings: {}
template: src.taskrunner.KerasCNN
tasks:
aggregated_model_validation:
function: validate_task
kwargs:
apply: global
batch_size: 32
metrics:
- accuracy
0m
locally_tuned_model_validation:
function: validate_task
kwargs:
apply: local
batch_size: 32
metrics:
- accuracy
settings: {}
train:
function: train_task
kwargs:
batch_size: 32
epochs: 1
metrics:
- loss
Data = {'one': '1', 'bob': '0', 'charlie': '1'}
INFO 🧿 Starting a Collaborator Service. ]8;id=811047;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/collaborator.py\collaborator.py]8;;\:]8;id=726936;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/collaborator.py#85\85]8;;\
INFO Building `src.dataloader.KerasMNISTInMemory` Module. ]8;id=380203;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=241929;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO MNIST > X_train Shape : (30000, 28, 28, 1) ]8;id=582856;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=701158;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#108\108]8;;\
INFO MNIST > y_train Shape : (30000,) ]8;id=579650;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=778055;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#109\109]8;;\
INFO MNIST > Train Samples : 30000 ]8;id=543538;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=18668;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#110\110]8;;\
INFO MNIST > Valid Samples : 5000 ]8;id=101126;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=693124;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#111\111]8;;\
INFO Building `src.taskrunner.KerasCNN` Module. ]8;id=571080;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=479984;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
super().__init__(activity_regularizer=activity_regularizer, **kwargs)
[22:21:52] INFO FL-Plan hash is f185582a79bcb3638a9d17256e2384ca80deaab0aac553a86b7b427c149ad6b907426005cec9e6b07259265de7adaef2 ]8;id=488594;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=986691;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=410747;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=750720;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=401497;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=863471;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#198\198]8;;\
settings:
best_state_path: save/best.pbuf
db_store_rounds: 2
init_state_path: save/init.pbuf
last_state_path: save/last.pbuf
rounds_to_train: 10
template: openfl.component.Aggregator
assigner:
settings:
task_groups:
- name: learning
percentage: 1.0
tasks:
- aggregated_model_validation
- train
- locally_tuned_model_validation
template: openfl.component.RandomGroupedAssigner
collaborator:
settings:
db_store_rounds: 1
delta_updates: false
opt_treatment: RESET
template: openfl.component.Collaborator
compression_pipeline:
settings: {}
template: openfl.pipelines.NoCompressionPipeline
data_loader:
settings:
batch_size: 256
collaborator_count: 2
data_group_name: mnist
template: src.dataloader.KerasMNISTInMemory
network:
settings:
agg_addr: localhost
agg_port: 59282
cert_folder: cert
client_reconnect_interval: 5
hash_salt: auto
require_client_auth: true
use_tls: true
template: openfl.federation.Network
task_runner:
settings: {}
template: src.taskrunner.KerasCNN
tasks:
aggregated_model_validation:
function: validate_task
kwargs:
apply: global
batch_size: 32
metrics:
- accuracy
locally_tuned_model_validation:
function: validate_task
kwargs:
apply: local
batch_size: 32
metrics:
- accuracy
settings: {}
train:
function: train_task
kwargs:
batch_size: 32
epochs: 1
metrics:
- loss
INFO Setting aggregator to assign: learning task_group ]8;id=981401;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/aggregator.py\aggregator.py]8;;\:]8;id=445508;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/aggregator.py#101\101]8;;\
INFO 🧿 Starting the Aggregator Service. ]8;id=106911;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/aggregator.py\aggregator.py]8;;\:]8;id=575368;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/interface/aggregator.py#103\103]8;;\
INFO Building `openfl.component.RandomGroupedAssigner` Module. ]8;id=597183;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=932664;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=576193;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=122823;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.component.straggler_handling_functions.CutoffTimeBasedStragglerHandling` Module. ]8;id=379390;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=937823;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
WARNING CutoffTimeBasedStragglerHandling is disabled as straggler_cutoff_time is set to np.inf. ]8;id=55017;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/straggler_handling_functions/cutoff_time_based_straggler_handling.py\cutoff_time_based_straggler_handling.py]8;;\:]8;id=706045;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/straggler_handling_functions/cutoff_time_based_straggler_handling.py#46\46]8;;\
INFO Building `openfl.component.Aggregator` Module. ]8;id=684104;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=784416;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Starting Aggregator gRPC Server ]8;id=920431;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/transport/grpc/aggregator_server.py\aggregator_server.py]8;;\:]8;id=11912;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/transport/grpc/aggregator_server.py#347\347]8;;\
INFO Model: "sequential" ]8;id=810019;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/utils/summary_utils.py\summary_utils.py]8;;\:]8;id=641173;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/utils/summary_utils.py#389\389]8;;\
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type) ┃ Output Shape ┃ Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d (Conv2D) │ (None, 13, 13, 16) │ 272 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_1 (Conv2D) │ (None, 5, 5, 32) │ 8,224 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ flatten (Flatten) │ (None, 800) │ 0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense (Dense) │ (None, 100) │ 80,100 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_1 (Dense) │ (None, 10) │ 1,010 │
└─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 89,606 (350.02 KB)
Trainable params: 89,606 (350.02 KB)
Non-trainable params: 0 (0.00 B)
INFO Train Set Size : 30000 ]8;id=529254;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=148378;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py#32\32]8;;\
INFO Valid Set Size : 5000 ]8;id=245726;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=715789;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py#33\33]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=507383;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=371077;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.component.Collaborator` Module. ]8;id=77502;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=945202;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Waiting for tasks... ]8;id=71080;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=201946;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 0 ]8;id=491393;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=127753;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=881799;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=471109;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
[22:21:53] INFO MNIST > X_train Shape : (30000, 28, 28, 1) ]8;id=491330;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=612593;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#108\108]8;;\
INFO MNIST > y_train Shape : (30000,) ]8;id=369188;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=846666;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#109\109]8;;\
INFO MNIST > Train Samples : 30000 ]8;id=606120;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=486723;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#110\110]8;;\
INFO MNIST > Valid Samples : 5000 ]8;id=557578;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=675528;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/mnist_utils.py#111\111]8;;\
INFO Building `src.taskrunner.KerasCNN` Module. ]8;id=101428;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=294333;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
super().__init__(activity_regularizer=activity_regularizer, **kwargs)
INFO Model: "sequential" ]8;id=238476;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/utils/summary_utils.py\summary_utils.py]8;;\:]8;id=433918;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7/lib/python3.10/site-packages/keras/src/utils/summary_utils.py#389\389]8;;\
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type) ┃ Output Shape ┃ Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d (Conv2D) │ (None, 13, 13, 16) │ 272 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_1 (Conv2D) │ (None, 5, 5, 32) │ 8,224 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ flatten (Flatten) │ (None, 800) │ 0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense (Dense) │ (None, 100) │ 80,100 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_1 (Dense) │ (None, 10) │ 1,010 │
└─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 89,606 (350.02 KB)
Trainable params: 89,606 (350.02 KB)
Non-trainable params: 0 (0.00 B)
INFO Train Set Size : 30000 ]8;id=823729;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=140326;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py#32\32]8;;\
INFO Valid Set Size : 5000 ]8;id=321318;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=29170;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/docs/tutorials/mnist_example/src/taskrunner.py#33\33]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=686356;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=220611;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.component.Collaborator` Module. ]8;id=538926;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=409708;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/plan/plan.py#226\226]8;;\
INFO Waiting for tasks... ]8;id=841702;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=660070;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:21:53] INFO Sending tasks to collaborator bob for round 0 ]8;id=66677;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=984084;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=274728;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=195842;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
17/Unknown 0s 3ms/step - accuracy: 0.1087 - loss: 2.3032
37/Unknown 1s 3ms/step - accuracy: 0.0996 - loss: 2.3047
58/Unknown 1s 3ms/step - accuracy: 0.0944 - loss: 2.3055
76/Unknown 1s 3ms/step - accuracy: 0.0920 - loss: 2.3060
97/Unknown 1s 3ms/step - accuracy: 0.0909 - loss: 2.3061
117/Unknown 1s 3ms/step - accuracy: 0.0901 - loss: 2.3061
133/Unknown 1s 3ms/step - accuracy: 0.0895 - loss: 2.3061
150/Unknown 1s 3ms/step - accuracy: 0.0889 - loss: 2.3062
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.0886 - loss: 2.3062
1/Unknown 1s 542ms/step - accuracy: 0.0938 - loss: 2.3005
[22:21:54] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 0 ]8;id=133989;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=861621;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 1s 5ms/step - accuracy: 0.0859 - loss: 2.3063 [22:21:54] INFO Run 0 epoch of 0 round ]8;id=995515;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=661651;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
16/Unknown 1s 4ms/step - accuracy: 0.0684 - loss: 2.3065
33/Unknown 1s 3ms/step - accuracy: 0.0655 - loss: 2.3081
49/Unknown 1s 3ms/step - accuracy: 0.0658 - loss: 2.3090
65/Unknown 1s 3ms/step - accuracy: 0.0668 - loss: 2.3094
83/Unknown 1s 3ms/step - accuracy: 0.0678 - loss: 2.3095
99/Unknown 1s 3ms/step - accuracy: 0.0691 - loss: 2.3095
116/Unknown 1s 3ms/step - accuracy: 0.0702 - loss: 2.3095
139/Unknown 1s 3ms/step - accuracy: 0.0710 - loss: 2.3095
157/Unknown 1s 3ms/step - accuracy: 0.0716 - loss: 2.3095/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.0716 - loss: 2.3095
INFO Collaborator bob is sending task results for aggregated_model_validation, round 0 ]8;id=263325;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=177786;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:21:54] INFO Run 0 epoch of 0 round ]8;id=121080;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=719247;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 8s - 8ms/step - accuracy: 0.9412 - loss: 0.1997
938/938 - 7s - 8ms/step - accuracy: 0.9105 - loss: 0.2942
[22:22:05] INFO Collaborator charlie is sending task results for train, round 0 ]8;id=973995;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=777284;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9453 - loss: 0.1814
34/Unknown 0s 2ms/step - accuracy: 0.9652 - loss: 0.1215
66/Unknown 0s 2ms/step - accuracy: 0.9621 - loss: 0.1268
99/Unknown 0s 2ms/step - accuracy: 0.9605 - loss: 0.1284
133/Unknown 0s 2ms/step - accuracy: 0.9599 - loss: 0.1309
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9597 - loss: 0.1330
[22:22:06] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 0 ]8;id=535553;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=448347;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 0: Collaborators that have completed all tasks: ['charlie'] ]8;id=519318;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=132035;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:06] INFO Waiting for tasks... ]8;id=464262;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=92778;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Collaborator bob is sending task results for train, round 0 ]8;id=396379;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=931593;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 26ms/step - accuracy: 0.9375 - loss: 0.0896
34/Unknown 0s 2ms/step - accuracy: 0.9659 - loss: 0.1083
67/Unknown 0s 2ms/step - accuracy: 0.9659 - loss: 0.1037
99/Unknown 0s 2ms/step - accuracy: 0.9665 - loss: 0.1026
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9673 - loss: 0.1006
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 0 ]8;id=713752;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=930313;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 0: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=84833;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=311973;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:07] INFO Round 0: saved the best model with score 0.079300 ]8;id=148893;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=858735;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 0 model... ]8;id=640055;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=259401;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 1... ]8;id=104300;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=539276;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:22:07] INFO Waiting for tasks... ]8;id=970651;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=470679;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 1 ]8;id=725341;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=241792;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=562320;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=622844;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 26ms/step - accuracy: 1.0000 - loss: 0.0428
33/Unknown 0s 2ms/step - accuracy: 0.9611 - loss: 0.1211
66/Unknown 0s 2ms/step - accuracy: 0.9622 - loss: 0.1216
99/Unknown 0s 2ms/step - accuracy: 0.9638 - loss: 0.1202
131/Unknown 0s 2ms/step - accuracy: 0.9648 - loss: 0.1178
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9654 - loss: 0.1163
INFO Collaborator bob is sending task results for aggregated_model_validation, round 1 ]8;id=237144;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=838744;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Run 0 epoch of 1 round ]8;id=752822;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=188722;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9635 - loss: 0.1203
[22:22:12] INFO Collaborator bob is sending task results for train, round 1 ]8;id=252120;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=59419;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 25ms/step - accuracy: 1.0000 - loss: 0.0048
33/Unknown 0s 2ms/step - accuracy: 0.9813 - loss: 0.0753
65/Unknown 0s 2ms/step - accuracy: 0.9788 - loss: 0.0767
97/Unknown 0s 2ms/step - accuracy: 0.9773 - loss: 0.0793
130/Unknown 0s 2ms/step - accuracy: 0.9759 - loss: 0.0812
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9752 - loss: 0.0817
[22:22:13] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 1 ]8;id=508850;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=781747;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 1: Collaborators that have completed all tasks: ['bob'] ]8;id=20388;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=299190;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:13] INFO Waiting for tasks... ]8;id=438798;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=493854;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:22:16] INFO Waiting for tasks... ]8;id=336722;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=3007;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:22:16] INFO Sending tasks to collaborator charlie for round 1 ]8;id=894042;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=445453;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=52944;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=275817;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.1724
34/Unknown 0s 2ms/step - accuracy: 0.9711 - loss: 0.1171
67/Unknown 0s 2ms/step - accuracy: 0.9707 - loss: 0.1211
102/Unknown 0s 2ms/step - accuracy: 0.9701 - loss: 0.1218
136/Unknown 0s 2ms/step - accuracy: 0.9697 - loss: 0.1215
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9695 - loss: 0.1214
[22:22:17] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 1 ]8;id=510464;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=358130;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:22:17] INFO Run 0 epoch of 1 round ]8;id=864862;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=662772;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9820 - loss: 0.0602
[22:22:22] INFO Collaborator charlie is sending task results for train, round 1 ]8;id=221151;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=29124;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 26ms/step - accuracy: 0.9688 - loss: 0.0691
33/Unknown 0s 2ms/step - accuracy: 0.9663 - loss: 0.1149
67/Unknown 0s 2ms/step - accuracy: 0.9643 - loss: 0.1189
100/Unknown 0s 2ms/step - accuracy: 0.9640 - loss: 0.1174
134/Unknown 0s 2ms/step - accuracy: 0.9639 - loss: 0.1154
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9638 - loss: 0.1140
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 1 ]8;id=608396;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=628530;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 1: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=828943;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=746350;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 1: saved the best model with score 0.967400 ]8;id=121070;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=734517;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 1 model... ]8;id=53941;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=66520;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 2... ]8;id=484533;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=688721;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:22:22] INFO Waiting for tasks... ]8;id=699322;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=205442;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 2 ]8;id=802997;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=682647;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=917709;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=537947;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 26ms/step - accuracy: 0.9375 - loss: 0.1186
34/Unknown 0s 2ms/step - accuracy: 0.9695 - loss: 0.0873
66/Unknown 0s 2ms/step - accuracy: 0.9733 - loss: 0.0778
102/Unknown 0s 2ms/step - accuracy: 0.9759 - loss: 0.0717
135/Unknown 0s 2ms/step - accuracy: 0.9768 - loss: 0.0699[22:22:23] INFO Waiting for tasks... ]8;id=368154;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=32750;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:22:23] INFO Sending tasks to collaborator bob for round 2 ]8;id=244061;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=274869;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=286388;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=405534;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
154/Unknown 0s 2ms/step - accuracy: 0.9771 - loss: 0.0695/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9772 - loss: 0.0694
INFO Collaborator charlie is sending task results for aggregated_model_validation, round 2 ]8;id=803084;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=29304;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:22:23] INFO Run 0 epoch of 2 round ]8;id=974477;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=310017;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
1/Unknown 0s 43ms/step - accuracy: 1.0000 - loss: 0.0517
21/Unknown 0s 3ms/step - accuracy: 0.9775 - loss: 0.0787
36/Unknown 0s 3ms/step - accuracy: 0.9787 - loss: 0.0727
49/Unknown 0s 3ms/step - accuracy: 0.9798 - loss: 0.0686
62/Unknown 0s 3ms/step - accuracy: 0.9803 - loss: 0.0659
76/Unknown 0s 3ms/step - accuracy: 0.9802 - loss: 0.0645
89/Unknown 0s 4ms/step - accuracy: 0.9803 - loss: 0.0635
102/Unknown 0s 4ms/step - accuracy: 0.9804 - loss: 0.0628
115/Unknown 0s 4ms/step - accuracy: 0.9804 - loss: 0.0625
128/Unknown 1s 4ms/step - accuracy: 0.9804 - loss: 0.0624
141/Unknown 1s 4ms/step - accuracy: 0.9805 - loss: 0.0623
154/Unknown 1s 4ms/step - accuracy: 0.9805 - loss: 0.0621
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.9805 - loss: 0.0620
[22:22:25] INFO Collaborator bob is sending task results for aggregated_model_validation, round 2 ]8;id=646623;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=975146;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:22:25] INFO Run 0 epoch of 2 round ]8;id=907556;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=705451;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 5s - 6ms/step - accuracy: 0.9886 - loss: 0.0372
[22:22:28] INFO Collaborator charlie is sending task results for train, round 2 ]8;id=823804;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=626543;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 46ms/step - accuracy: 1.0000 - loss: 0.0019
17/Unknown 0s 3ms/step - accuracy: 0.9823 - loss: 0.0460
34/Unknown 0s 3ms/step - accuracy: 0.9805 - loss: 0.0529
53/Unknown 0s 3ms/step - accuracy: 0.9799 - loss: 0.0575
73/Unknown 0s 3ms/step - accuracy: 0.9787 - loss: 0.0631
92/Unknown 0s 3ms/step - accuracy: 0.9777 - loss: 0.0668
109/Unknown 0s 3ms/step - accuracy: 0.9771 - loss: 0.0689
125/Unknown 0s 3ms/step - accuracy: 0.9766 - loss: 0.0705
141/Unknown 0s 3ms/step - accuracy: 0.9762 - loss: 0.0718
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9759 - loss: 0.0732
[22:22:29] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 2 ]8;id=92627;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=23839;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 2: Collaborators that have completed all tasks: ['charlie'] ]8;id=674900;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=622603;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:29] INFO Waiting for tasks... ]8;id=168273;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=164507;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
938/938 - 5s - 6ms/step - accuracy: 0.9728 - loss: 0.0875
[22:22:30] INFO Collaborator bob is sending task results for train, round 2 ]8;id=854602;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=860406;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 0.9844 - loss: 0.0290
34/Unknown 0s 2ms/step - accuracy: 0.9874 - loss: 0.0447
67/Unknown 0s 2ms/step - accuracy: 0.9872 - loss: 0.0447
101/Unknown 0s 2ms/step - accuracy: 0.9867 - loss: 0.0450
134/Unknown 0s 2ms/step - accuracy: 0.9861 - loss: 0.0461
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9859 - loss: 0.0466
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 2 ]8;id=927341;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=623308;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 2: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=100224;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=198295;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:31] INFO Round 2: saved the best model with score 0.980200 ]8;id=716014;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=491689;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 2 model... ]8;id=228451;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=938511;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 3... ]8;id=845043;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=143903;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:22:31] INFO Waiting for tasks... ]8;id=716101;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=265681;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 3 ]8;id=558767;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=910341;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=158550;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=659997;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 25ms/step - accuracy: 0.9375 - loss: 0.0704
33/Unknown 0s 2ms/step - accuracy: 0.9758 - loss: 0.0597
65/Unknown 0s 2ms/step - accuracy: 0.9796 - loss: 0.0533
96/Unknown 0s 2ms/step - accuracy: 0.9812 - loss: 0.0509
128/Unknown 0s 2ms/step - accuracy: 0.9819 - loss: 0.0504
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9825 - loss: 0.0496
INFO Collaborator bob is sending task results for aggregated_model_validation, round 3 ]8;id=334187;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=634285;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Run 0 epoch of 3 round ]8;id=639335;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=368452;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9782 - loss: 0.0687
[22:22:36] INFO Collaborator bob is sending task results for train, round 3 ]8;id=588916;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=424923;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 27ms/step - accuracy: 0.9688 - loss: 0.1427
32/Unknown 0s 2ms/step - accuracy: 0.9837 - loss: 0.0650
65/Unknown 0s 2ms/step - accuracy: 0.9847 - loss: 0.0582
99/Unknown 0s 2ms/step - accuracy: 0.9852 - loss: 0.0544
131/Unknown 0s 2ms/step - accuracy: 0.9849 - loss: 0.0534
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9847 - loss: 0.0529
[22:22:37] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 3 ]8;id=277470;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=690806;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 3: Collaborators that have completed all tasks: ['bob'] ]8;id=463720;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=674255;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:37] INFO Waiting for tasks... ]8;id=438144;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=296168;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:22:39] INFO Waiting for tasks... ]8;id=633778;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=136249;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:22:39] INFO Sending tasks to collaborator charlie for round 3 ]8;id=289160;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=932730;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=227489;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=306437;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
33/Unknown 0s 2ms/step - accuracy: 0.9803 - loss: 0.0509
65/Unknown 0s 2ms/step - accuracy: 0.9812 - loss: 0.0522
98/Unknown 0s 2ms/step - accuracy: 0.9812 - loss: 0.0532
130/Unknown 0s 2ms/step - accuracy: 0.9814 - loss: 0.0536
131/Unknown 0s 2ms/step - accuracy: 0.9814 - loss: 0.0536/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9818 - loss: 0.0534
[22:22:40] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 3 ]8;id=940920;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=430477;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:22:40] INFO Run 0 epoch of 3 round ]8;id=626895;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=285216;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9914 - loss: 0.0284
[22:22:45] INFO Collaborator charlie is sending task results for train, round 3 ]8;id=724213;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=782939;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 25ms/step - accuracy: 0.9688 - loss: 0.0996
33/Unknown 0s 2ms/step - accuracy: 0.9757 - loss: 0.0751
67/Unknown 0s 2ms/step - accuracy: 0.9774 - loss: 0.0707
100/Unknown 0s 2ms/step - accuracy: 0.9773 - loss: 0.0717
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9778 - loss: 0.0712
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 3 ]8;id=769569;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=543040;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 3: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=347994;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=6390;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:46] INFO Round 3: saved the best model with score 0.984600 ]8;id=936048;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=798715;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 3 model... ]8;id=491468;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=469270;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 4... ]8;id=649217;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=82336;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:22:46] INFO Waiting for tasks... ]8;id=474908;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=134181;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 4 ]8;id=895007;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=617918;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=663333;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=753339;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 26ms/step - accuracy: 0.9688 - loss: 0.1287
33/Unknown 0s 2ms/step - accuracy: 0.9838 - loss: 0.0547
66/Unknown 0s 2ms/step - accuracy: 0.9837 - loss: 0.0533
100/Unknown 0s 2ms/step - accuracy: 0.9843 - loss: 0.0522
134/Unknown 0s 2ms/step - accuracy: 0.9846 - loss: 0.0509
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9847 - loss: 0.0503
INFO Collaborator charlie is sending task results for aggregated_model_validation, round 4 ]8;id=138385;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=757753;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Run 0 epoch of 4 round ]8;id=370147;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=85416;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
[22:22:47] INFO Waiting for tasks... ]8;id=787651;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=475416;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:22:47] INFO Sending tasks to collaborator bob for round 4 ]8;id=603914;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=950318;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=481287;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=140405;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 2ms/step - accuracy: 1.0000 - loss: 0.0096
21/Unknown 0s 3ms/step - accuracy: 0.9924 - loss: 0.0247
42/Unknown 0s 3ms/step - accuracy: 0.9896 - loss: 0.0287
63/Unknown 0s 3ms/step - accuracy: 0.9890 - loss: 0.0310
84/Unknown 0s 2ms/step - accuracy: 0.9884 - loss: 0.0344
105/Unknown 0s 2ms/step - accuracy: 0.9877 - loss: 0.0371
125/Unknown 0s 2ms/step - accuracy: 0.9874 - loss: 0.0384
143/Unknown 0s 3ms/step - accuracy: 0.9874 - loss: 0.0390
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9873 - loss: 0.0395
[22:22:48] INFO Collaborator bob is sending task results for aggregated_model_validation, round 4 ]8;id=655971;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=466046;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:22:48] INFO Run 0 epoch of 4 round ]8;id=576384;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=147129;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 6s - 6ms/step - accuracy: 0.9938 - loss: 0.0202
[22:22:52] INFO Collaborator charlie is sending task results for train, round 4 ]8;id=881033;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=869448;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 54ms/step - accuracy: 1.0000 - loss: 0.0053
21/Unknown 0s 3ms/step - accuracy: 0.9761 - loss: 0.0919
40/Unknown 0s 3ms/step - accuracy: 0.9764 - loss: 0.0871
59/Unknown 0s 3ms/step - accuracy: 0.9775 - loss: 0.0816
77/Unknown 0s 3ms/step - accuracy: 0.9780 - loss: 0.0797
94/Unknown 0s 3ms/step - accuracy: 0.9781 - loss: 0.0792
109/Unknown 0s 3ms/step - accuracy: 0.9782 - loss: 0.0787
123/Unknown 0s 3ms/step - accuracy: 0.9783 - loss: 0.0780
136/Unknown 0s 3ms/step - accuracy: 0.9784 - loss: 0.0772
149/Unknown 1s 3ms/step - accuracy: 0.9786 - loss: 0.0764
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9787 - loss: 0.0758
[22:22:53] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 4 ]8;id=621770;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=686593;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 4: Collaborators that have completed all tasks: ['charlie'] ]8;id=801077;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=991143;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:22:53] INFO Waiting for tasks... ]8;id=813884;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=190255;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
938/938 - 5s - 5ms/step - accuracy: 0.9830 - loss: 0.0573
INFO Collaborator bob is sending task results for train, round 4 ]8;id=53027;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=991686;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 27ms/step - accuracy: 1.0000 - loss: 0.0028
32/Unknown 0s 2ms/step - accuracy: 0.9887 - loss: 0.0455
66/Unknown 0s 2ms/step - accuracy: 0.9862 - loss: 0.0505
96/Unknown 0s 2ms/step - accuracy: 0.9851 - loss: 0.0508
128/Unknown 0s 2ms/step - accuracy: 0.9844 - loss: 0.0506
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9842 - loss: 0.0499
[22:22:54] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 4 ]8;id=92410;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=539768;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 4: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=400842;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=601622;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 4: saved the best model with score 0.986300 ]8;id=766583;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=854742;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 4 model... ]8;id=608824;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=889677;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 5... ]8;id=980730;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=926559;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:22:54] INFO Waiting for tasks... ]8;id=409925;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=191669;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 5 ]8;id=416352;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=949149;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=79734;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=19488;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 25ms/step - accuracy: 0.9688 - loss: 0.0266
33/Unknown 0s 2ms/step - accuracy: 0.9901 - loss: 0.0205
66/Unknown 0s 2ms/step - accuracy: 0.9893 - loss: 0.0266
100/Unknown 0s 2ms/step - accuracy: 0.9890 - loss: 0.0286
133/Unknown 0s 2ms/step - accuracy: 0.9888 - loss: 0.0298
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9886 - loss: 0.0306
INFO Collaborator bob is sending task results for aggregated_model_validation, round 5 ]8;id=528383;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=362756;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Run 0 epoch of 5 round ]8;id=658956;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=730320;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9843 - loss: 0.0491
[22:23:00] INFO Collaborator bob is sending task results for train, round 5 ]8;id=562933;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=231659;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 26ms/step - accuracy: 1.0000 - loss: 0.0162
33/Unknown 0s 2ms/step - accuracy: 0.9807 - loss: 0.0550
66/Unknown 0s 2ms/step - accuracy: 0.9808 - loss: 0.0546
101/Unknown 0s 2ms/step - accuracy: 0.9806 - loss: 0.0550
134/Unknown 0s 2ms/step - accuracy: 0.9808 - loss: 0.0547
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9809 - loss: 0.0545
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 5 ]8;id=135747;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=757879;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 5: Collaborators that have completed all tasks: ['bob'] ]8;id=575459;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=175922;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:23:00] INFO Waiting for tasks... ]8;id=395280;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=215876;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:03] INFO Waiting for tasks... ]8;id=786784;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=849443;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:03] INFO Sending tasks to collaborator charlie for round 5 ]8;id=239844;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=258520;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=383934;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=439892;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 2ms/step - accuracy: 1.0000 - loss: 0.0015
34/Unknown 0s 2ms/step - accuracy: 0.9895 - loss: 0.0342
67/Unknown 0s 2ms/step - accuracy: 0.9886 - loss: 0.0340
100/Unknown 0s 2ms/step - accuracy: 0.9883 - loss: 0.0339
132/Unknown 0s 2ms/step - accuracy: 0.9881 - loss: 0.0344
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9878 - loss: 0.0352
INFO Collaborator charlie is sending task results for aggregated_model_validation, round 5 ]8;id=913605;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=248367;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Run 0 epoch of 5 round ]8;id=192833;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=867942;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9950 - loss: 0.0170
[22:23:09] INFO Collaborator charlie is sending task results for train, round 5 ]8;id=308785;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=702955;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 27ms/step - accuracy: 0.9688 - loss: 0.1181
33/Unknown 0s 2ms/step - accuracy: 0.9808 - loss: 0.0852
67/Unknown 0s 2ms/step - accuracy: 0.9795 - loss: 0.0879
101/Unknown 0s 2ms/step - accuracy: 0.9784 - loss: 0.0901
133/Unknown 0s 2ms/step - accuracy: 0.9776 - loss: 0.0909
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9774 - loss: 0.0903
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 5 ]8;id=948902;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=645637;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 5: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=616171;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=276766;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 5: saved the best model with score 0.987000 ]8;id=286890;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=413125;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 5 model... ]8;id=555351;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=844846;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 6... ]8;id=31296;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=38668;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:23:09] INFO Waiting for tasks... ]8;id=90358;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=232753;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 6 ]8;id=805907;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=885231;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=590697;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=985471;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 26ms/step - accuracy: 0.9375 - loss: 0.2504
32/Unknown 0s 2ms/step - accuracy: 0.9861 - loss: 0.0639
64/Unknown 0s 2ms/step - accuracy: 0.9884 - loss: 0.0507
95/Unknown 0s 2ms/step - accuracy: 0.9886 - loss: 0.0466
129/Unknown 0s 2ms/step - accuracy: 0.9884 - loss: 0.0449
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9880 - loss: 0.0451
[22:23:10] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 6 ]8;id=715905;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=297386;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:10] INFO Run 0 epoch of 6 round ]8;id=271490;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=376755;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
[22:23:10] INFO Waiting for tasks... ]8;id=310062;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=187096;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 6 ]8;id=214763;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=264858;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=450675;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=611728;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 47ms/step - accuracy: 1.0000 - loss: 0.0062
20/Unknown 0s 3ms/step - accuracy: 0.9932 - loss: 0.0321
41/Unknown 0s 3ms/step - accuracy: 0.9918 - loss: 0.0328
63/Unknown 0s 3ms/step - accuracy: 0.9913 - loss: 0.0329
85/Unknown 0s 2ms/step - accuracy: 0.9907 - loss: 0.0332
107/Unknown 0s 2ms/step - accuracy: 0.9902 - loss: 0.0339
128/Unknown 0s 2ms/step - accuracy: 0.9900 - loss: 0.0340
149/Unknown 0s 2ms/step - accuracy: 0.9899 - loss: 0.0340/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9899 - loss: 0.0342
[22:23:11] INFO Collaborator bob is sending task results for aggregated_model_validation, round 6 ]8;id=884846;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=878434;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:11] INFO Run 0 epoch of 6 round ]8;id=646353;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=585232;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 6s - 6ms/step - accuracy: 0.9957 - loss: 0.0129
938/938 - 5s - 5ms/step - accuracy: 0.9877 - loss: 0.0389
[22:23:17] INFO Collaborator bob is sending task results for train, round 6 ]8;id=30353;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=995541;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 25ms/step - accuracy: 1.0000 - loss: 0.0159
33/Unknown 0s 2ms/step - accuracy: 0.9876 - loss: 0.0337
66/Unknown 0s 2ms/step - accuracy: 0.9853 - loss: 0.0404
100/Unknown 0s 2ms/step - accuracy: 0.9841 - loss: 0.0442
133/Unknown 0s 2ms/step - accuracy: 0.9834 - loss: 0.0463
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9831 - loss: 0.0472
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 6 ]8;id=150752;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=619495;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 6: Collaborators that have completed all tasks: ['bob'] ]8;id=240311;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=990808;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:23:17] INFO Waiting for tasks... ]8;id=477529;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=226898;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:20] INFO Collaborator charlie is sending task results for train, round 6 ]8;id=939436;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=774351;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9453 - loss: 0.1440
34/Unknown 0s 2ms/step - accuracy: 0.9705 - loss: 0.0750
66/Unknown 0s 2ms/step - accuracy: 0.9745 - loss: 0.0697
99/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.0691
131/Unknown 0s 2ms/step - accuracy: 0.9778 - loss: 0.0683
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9784 - loss: 0.0681
[22:23:21] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 6 ]8;id=277386;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=725250;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 6: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=954909;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=939171;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 6: saved the best model with score 0.987700 ]8;id=808916;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=476592;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 6 model... ]8;id=201578;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=895860;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 7... ]8;id=244808;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=674122;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:23:21] INFO Waiting for tasks... ]8;id=515928;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=25403;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 7 ]8;id=835170;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=573609;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=456174;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=14201;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 2ms/step - accuracy: 1.0000 - loss: 0.0141
34/Unknown 0s 2ms/step - accuracy: 0.9872 - loss: 0.0344
68/Unknown 0s 2ms/step - accuracy: 0.9870 - loss: 0.0352
101/Unknown 0s 2ms/step - accuracy: 0.9874 - loss: 0.0350
134/Unknown 0s 2ms/step - accuracy: 0.9877 - loss: 0.0359
135/Unknown 0s 2ms/step - accuracy: 0.9877 - loss: 0.0359/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9877 - loss: 0.0364
INFO Collaborator charlie is sending task results for aggregated_model_validation, round 7 ]8;id=754219;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=92625;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Run 0 epoch of 7 round ]8;id=239741;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=859058;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9964 - loss: 0.0117
[22:23:24] INFO Collaborator charlie is sending task results for train, round 7 ]8;id=548704;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=117626;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 25ms/step - accuracy: 1.0000 - loss: 0.0015
34/Unknown 0s 2ms/step - accuracy: 0.9889 - loss: 0.0421
101/Unknown 0s 2ms/step - accuracy: 0.9819 - loss: 0.0754
133/Unknown 0s 2ms/step - accuracy: 0.9809 - loss: 0.0800
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9804 - loss: 0.0814
[22:23:25] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 7 ]8;id=818223;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=257764;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 7: Collaborators that have completed all tasks: ['charlie'] ]8;id=906420;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=65276;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:23:25] INFO Waiting for tasks... ]8;id=498352;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=31294;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:27] INFO Waiting for tasks... ]8;id=586345;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=972909;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:27] INFO Sending tasks to collaborator bob for round 7 ]8;id=497176;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=706135;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=125546;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=566184;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 25ms/step - accuracy: 0.9688 - loss: 0.0607
33/Unknown 0s 2ms/step - accuracy: 0.9878 - loss: 0.0389
64/Unknown 0s 2ms/step - accuracy: 0.9882 - loss: 0.0375
97/Unknown 0s 2ms/step - accuracy: 0.9877 - loss: 0.0391
131/Unknown 0s 2ms/step - accuracy: 0.9876 - loss: 0.0388
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9876 - loss: 0.0386
[22:23:28] INFO Collaborator bob is sending task results for aggregated_model_validation, round 7 ]8;id=464034;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=32919;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:28] INFO Run 0 epoch of 7 round ]8;id=469732;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=818688;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9894 - loss: 0.0337
[22:23:31] INFO Collaborator bob is sending task results for train, round 7 ]8;id=477077;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=460300;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 0.9922 - loss: 0.0320
34/Unknown 0s 2ms/step - accuracy: 0.9849 - loss: 0.0501
67/Unknown 0s 2ms/step - accuracy: 0.9832 - loss: 0.0516
101/Unknown 0s 2ms/step - accuracy: 0.9830 - loss: 0.0528
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9833 - loss: 0.0528
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 7 ]8;id=598892;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=733128;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 7: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=17404;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=721291;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 7: saved the best model with score 0.987900 ]8;id=274023;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=739953;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 7 model... ]8;id=794767;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=177331;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 8... ]8;id=347091;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=412800;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:23:31] INFO Waiting for tasks... ]8;id=630285;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=151316;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 8 ]8;id=839672;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=384656;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=555832;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=115834;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 3ms/step - accuracy: 1.0000 - loss: 0.0066
35/Unknown 0s 2ms/step - accuracy: 0.9914 - loss: 0.0238
66/Unknown 0s 2ms/step - accuracy: 0.9914 - loss: 0.0275
99/Unknown 0s 2ms/step - accuracy: 0.9911 - loss: 0.0293
132/Unknown 0s 2ms/step - accuracy: 0.9908 - loss: 0.0309/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9908 - loss: 0.0316
[22:23:32] INFO Collaborator bob is sending task results for aggregated_model_validation, round 8 ]8;id=652733;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=940659;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:32] INFO Run 0 epoch of 8 round ]8;id=535513;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=860925;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
[22:23:35] INFO Waiting for tasks... ]8;id=479898;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=463562;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:35] INFO Sending tasks to collaborator charlie for round 8 ]8;id=56719;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=344434;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=864226;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=971902;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
938/938 - 3s - 3ms/step - accuracy: 0.9904 - loss: 0.0297
INFO Collaborator bob is sending task results for train, round 8 ]8;id=807380;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=864328;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 38ms/step - accuracy: 1.0000 - loss: 0.0188
19/Unknown 0s 3ms/step - accuracy: 0.9871 - loss: 0.0471
37/Unknown 0s 3ms/step - accuracy: 0.9873 - loss: 0.0418
54/Unknown 0s 3ms/step - accuracy: 0.9871 - loss: 0.0418
71/Unknown 0s 3ms/step - accuracy: 0.9870 - loss: 0.0423
88/Unknown 0s 3ms/step - accuracy: 0.9872 - loss: 0.0418
105/Unknown 0s 3ms/step - accuracy: 0.9874 - loss: 0.0418
122/Unknown 0s 3ms/step - accuracy: 0.9874 - loss: 0.0419
138/Unknown 0s 3ms/step - accuracy: 0.9873 - loss: 0.0420
152/Unknown 1s 3ms/step - accuracy: 0.9872 - loss: 0.0423
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9871 - loss: 0.0425
40/Unknown 0s 3ms/step - accuracy: 0.9892 - loss: 0.0463
73/Unknown 0s 2ms/step - accuracy: 0.9875 - loss: 0.0490
106/Unknown 0s 2ms/step - accuracy: 0.9869 - loss: 0.0488 INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 8 ]8;id=55753;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=4174;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 8: Collaborators that have completed all tasks: ['bob'] ]8;id=922301;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=164767;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:23:35] INFO Waiting for tasks... ]8;id=315530;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=338282;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
125/Unknown 0s 2ms/step - accuracy: 0.9868 - loss: 0.0485
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9869 - loss: 0.0481
[22:23:36] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 8 ]8;id=470976;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=972184;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:36] INFO Run 0 epoch of 8 round ]8;id=381890;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=793239;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9970 - loss: 0.0094
[22:23:39] INFO Collaborator charlie is sending task results for train, round 8 ]8;id=30214;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=863228;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 25ms/step - accuracy: 1.0000 - loss: 0.0428
2/Unknown 0s 3ms/step - accuracy: 0.9922 - loss: 0.0843
67/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.0904
99/Unknown 0s 2ms/step - accuracy: 0.9782 - loss: 0.0839
133/Unknown 0s 2ms/step - accuracy: 0.9792 - loss: 0.0796
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9796 - loss: 0.0781
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 8 ]8;id=481502;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=225355;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 8: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=363708;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=883834;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 8: saved the best model with score 0.988800 ]8;id=450053;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=768739;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 8 model... ]8;id=445892;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=143926;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 9... ]8;id=32489;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=826265;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[22:23:39] INFO Waiting for tasks... ]8;id=843454;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=627831;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 9 ]8;id=759924;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=144850;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=687065;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=345832;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 27ms/step - accuracy: 1.0000 - loss: 0.0200
34/Unknown 0s 2ms/step - accuracy: 0.9921 - loss: 0.0398
66/Unknown 0s 2ms/step - accuracy: 0.9920 - loss: 0.0366
99/Unknown 0s 2ms/step - accuracy: 0.9915 - loss: 0.0378
132/Unknown 0s 2ms/step - accuracy: 0.9912 - loss: 0.0379
/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9909 - loss: 0.0382
[22:23:40] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 9 ]8;id=865498;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=418069;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:40] INFO Run 0 epoch of 9 round ]8;id=469228;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=708671;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9979 - loss: 0.0078
[22:23:43] INFO Collaborator charlie is sending task results for train, round 9 ]8;id=641010;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=194430;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.1024
34/Unknown 0s 2ms/step - accuracy: 0.9740 - loss: 0.0867
68/Unknown 0s 2ms/step - accuracy: 0.9761 - loss: 0.0818
101/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.0811
135/Unknown 0s 2ms/step - accuracy: 0.9764 - loss: 0.0817
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9765 - loss: 0.0815
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 9 ]8;id=864592;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=701091;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 9: Collaborators that have completed all tasks: ['charlie'] ]8;id=8777;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=63620;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[22:23:43] INFO Waiting for tasks... ]8;id=140049;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=614730;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:45] INFO Waiting for tasks... ]8;id=741987;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=701274;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:45] INFO Sending tasks to collaborator bob for round 9 ]8;id=593564;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=650102;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=53460;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=420226;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.0379
36/Unknown 0s 2ms/step - accuracy: 0.9869 - loss: 0.0387
69/Unknown 0s 2ms/step - accuracy: 0.9883 - loss: 0.0350
103/Unknown 0s 2ms/step - accuracy: 0.9887 - loss: 0.0343
136/Unknown 0s 2ms/step - accuracy: 0.9889 - loss: 0.0340
137/Unknown 0s 2ms/step - accuracy: 0.9889 - loss: 0.0340/home/docs/.asdf/installs/python/3.10.15/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.
self.gen.throw(typ, value, traceback)
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9889 - loss: 0.0344
[22:23:46] INFO Collaborator bob is sending task results for aggregated_model_validation, round 9 ]8;id=422187;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=823811;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
[22:23:46] INFO Run 0 epoch of 9 round ]8;id=820049;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=238017;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 3s - 3ms/step - accuracy: 0.9912 - loss: 0.0261
[22:23:51] INFO Collaborator bob is sending task results for train, round 9 ]8;id=131035;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=523893;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 1.0000 - loss: 0.0069
35/Unknown 0s 2ms/step - accuracy: 0.9944 - loss: 0.0339
68/Unknown 0s 2ms/step - accuracy: 0.9924 - loss: 0.0370
102/Unknown 0s 2ms/step - accuracy: 0.9909 - loss: 0.0384
134/Unknown 0s 2ms/step - accuracy: 0.9900 - loss: 0.0387
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9896 - loss: 0.0386
[22:23:52] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 9 ]8;id=372273;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=854980;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 9: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=155336;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=478916;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 9: saved the best model with score 0.989000 ]8;id=850873;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=759200;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 9 model... ]8;id=941758;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=14447;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Experiment Completed. Cleaning up... ]8;id=47579;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=343685;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#1005\1005]8;;\
[22:23:52] INFO Waiting for tasks... ]8;id=353010;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=135075;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending signal to collaborator bob to shutdown... ]8;id=194149;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=712898;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#356\356]8;;\
INFO Received shutdown signal. Exiting... ]8;id=99494;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=24113;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#199\199]8;;\
✔️ OK
[22:23:53] INFO Waiting for tasks... ]8;id=529635;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=745376;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#234\234]8;;\
[22:23:53] INFO Sending signal to collaborator charlie to shutdown... ]8;id=837014;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=160341;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/aggregator/aggregator.py#356\356]8;;\
INFO Received shutdown signal. Exiting... ]8;id=409124;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=769701;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7/openfl/component/collaborator/collaborator.py#199\199]8;;\
✔️ OK