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.1/openfl-workspace/keras_cnn_mnist in /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example
Collecting keras==3.6.0 (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/requirements.txt (line 1)) (2.2.3)
Requirement already satisfied: rich in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/docs/tutorials/mnist_example/requirements.txt (line 1))
Downloading h5py-3.13.0-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.1/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.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/docs/tutorials/mnist_example/requirements.txt (line 2))
Downloading flatbuffers-25.2.10-py2.py3-none-any.whl.metadata (875 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.1/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.1/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.1/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.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/docs/tutorials/mnist_example/requirements.txt (line 2)) (2025.1.31)
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.1/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.1/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.1/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.1/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/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.1/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.1/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 38.2 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 -:--:--
━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.9/615.3 MB 174.9 MB/s eta 0:00:04
━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 68.4/615.3 MB 169.5 MB/s eta 0:00:04
━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.6/615.3 MB 164.7 MB/s eta 0:00:04
━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 134.0/615.3 MB 165.6 MB/s eta 0:00:03
━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━ 173.8/615.3 MB 171.8 MB/s eta 0:00:03
━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━ 204.7/615.3 MB 168.6 MB/s eta 0:00:03
━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━ 218.9/615.3 MB 170.1 MB/s eta 0:00:03
━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━ 256.4/615.3 MB 159.4 MB/s eta 0:00:03
━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━ 301.7/615.3 MB 164.4 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━ 347.9/615.3 MB 172.4 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━ 382.2/615.3 MB 175.9 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━ 419.7/615.3 MB 174.3 MB/s eta 0:00:02
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━ 459.5/615.3 MB 180.2 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━ 500.2/615.3 MB 199.5 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━ 541.1/615.3 MB 199.9 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━ 582.2/615.3 MB 195.8 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 615.3/615.3 MB 195.7 MB/s eta 0:00:01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 615.3/615.3 MB 27.4 MB/s eta 0:00:00
?25h
Downloading 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-25.2.10-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.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB)
?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/4.5 MB ? eta -:--:--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 122.5 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 151.1 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)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 133.1 MB/s eta 0:00:00
?25h
Downloading 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 142.2 MB/s eta 0:00:00
?25h
Downloading 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 137.1 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 140.7 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 140.2 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.3
Uninstalling numpy-2.2.3:
Successfully uninstalled numpy-2.2.3
Successfully installed absl-py-2.1.0 astunparse-1.6.3 flatbuffers-25.2.10 gast-0.6.0 google-pasta-0.2.0 h5py-3.13.0 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.1/docs/tutorials/mnist_example/requirements.txt.
[11:15:49] INFO Loading DEFAULTS for section aggregator from file ]8;id=8256;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=952666;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/aggregator.yam
l.
INFO Loading DEFAULTS for section assigner from file ]8;id=762335;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=343799;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/assigner.yaml.
INFO Loading DEFAULTS for section collaborator from file ]8;id=922084;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=118900;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/collaborator.y
aml.
INFO Loading DEFAULTS for section compression_pipeline from file ]8;id=601474;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=903406;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/compression_pi
peline.yaml.
INFO Loading DEFAULTS for section data_loader from file ]8;id=222047;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=846474;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/data_loader.ya
ml.
INFO Loading DEFAULTS for section network from file ]8;id=368209;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=463242;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/network.yaml.
INFO Loading DEFAULTS for section task_runner from file ]8;id=200078;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=690988;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/task_runner.ya
ml.
INFO Loading DEFAULTS for section tasks from file ]8;id=339248;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=40762;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#147\147]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/workspace/plan/defaults/tasks_keras.ya
ml.
INFO FL-Plan hash is a1113de951ee54ee07f35f92fd44e9bae930ef8acea7b15cab53cd67d3dcb9cdfa8aa9dc9230c03da7fd0e78b52b5bca ]8;id=101598;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=958937;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO FL-Plan hash is af595f64dd8b61452a449d976265f382b851d557d3c8341009453f0eb896b6d89ba175effd91e0d6700aec7646115ba5 ]8;id=518938;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=902689;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=383209;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=634496;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl-workspace/keras_cnn_mnist/plan/plan.yaml.
INFO aggregator: ]8;id=572299;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=497120;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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-27291930-project-638300-openfl
agg_port: 60189
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.1/docs/tutorials/mnist_example
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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:1740395751.299567 633 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:1740395751.303573 633 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.1/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.1/lib/python3.10/site-packages (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from -r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/requirements.txt (line 1)) (3.13.0)
Requirement already satisfied: optree in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/requirements.txt (line 2)) (25.2.10)
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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from tensorflow==2.18.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/docs/tutorials/mnist_example/requirements.txt (line 2)) (2025.1.31)
Requirement already satisfied: markdown>=2.6.8 in /home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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.1/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.1/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.1/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.1/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.1/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.1/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/lib/python3.10/site-packages (from rich->keras==3.6.0->-r /home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.1/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.1/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.1/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.1/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.1/docs/tutorials/mnist_example/requirements.txt.
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1740395756.583912 633 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:1740395756.587861 633 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.1/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(
[11:15:59] INFO FL-Plan hash is d816f003b00c6a40fe7f8e42ada6b425d7143aed4ed4e8e00fc18a106915fe49561952e7a1aaaeeb668e20b872106c1c ]8;id=399377;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=98201;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=451412;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=72773;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=579858;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=839592;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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-27291930-project-638300-openfl
agg_port: 60189
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=250410;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=896639;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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
655360/11490434 [>.............................] - ETA: 0s
8118272/11490434 [====================>.........] - ETA: 0s
11493376/11490434 [==============================] - 0s 0us/step
[11:16:00] INFO MNIST > X_train Shape : (30000, 28, 28, 1) ]8;id=254547;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=747061;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#108\108]8;;\
INFO MNIST > y_train Shape : (30000,) ]8;id=387326;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=550386;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#109\109]8;;\
INFO MNIST > Train Samples : 30000 ]8;id=838379;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=272011;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#110\110]8;;\
INFO MNIST > Valid Samples : 5000 ]8;id=591000;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=954575;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#111\111]8;;\
INFO Building `src.taskrunner.KerasCNN` Module. ]8;id=268470;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=859165;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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=276102;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/lib/python3.10/site-packages/keras/src/utils/summary_utils.py\summary_utils.py]8;;\:]8;id=109368;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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=817155;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=490699;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py#32\32]8;;\
INFO Valid Set Size : 5000 ]8;id=911513;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=346345;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py#33\33]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=155376;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=728098;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
WARNING Following parameters omitted from global initial model, local initialization will determine values: [] ]8;id=822025;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py\plan.py]8;;\:]8;id=77413;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py#186\186]8;;\
INFO Creating Initial Weights File 🠆 save/init.pbuf ]8;id=907455;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py\plan.py]8;;\:]8;id=664056;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py#196\196]8;;\
WARNING Patching Aggregator Addr in Plan 🠆 localhost ]8;id=797552;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py\plan.py]8;;\:]8;id=720851;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py#209\209]8;;\
INFO FL-Plan hash is 667e5dd02398b63abdf62e222460a70d722f0aa4b812216783b491c64cd0b3b87e20d1e82b5e6afde0b69e3af7fb78da ]8;id=63445;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=180107;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO ['plan_667e5dd0'] ]8;id=699303;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/plan.py\plan.py]8;;\:]8;id=240860;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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:1740395766.455736 659 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:1740395766.459715 659 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.1/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.1/docs/tutorials/mnist_example/cert/server
The CSR Hash 2830d1f59738779e8dccf1ab6ea28f8b4a6b5c05d34f0255a161ac8e47f0d4e5a00f00786cce641cdd0398a92aeb67a7
✔️ OK
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1740395770.979051 665 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:1740395770.982967 665 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.1/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 = 2830d1f59738779e8dccf1ab6ea28f8b4a6b5c05d34f0255a161ac8e47f0d4e5a00f00786cce641cdd0398a92aeb67a7
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:1740395775.517011 671 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:1740395775.520922 671 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.1/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:1740395779.936527 677 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:1740395779.940500 677 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.1/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.1/docs/tutorials/mnist_example/cert/col_bob
The CSR Hash e1e0a321e7bb5ecd9300f0961ae6ee6a1525f8d9ec213da94d5c29c923dcb8e4c60c43993956591206dbb79374080535
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:1740395784.599716 683 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:1740395784.603647 683 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.1/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 e1e0a321e7bb5ecd9300f0961ae6ee6a1525f8d9ec213da94d5c29c923dcb8e4c60c43993956591206dbb79374080535
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.1/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:1740395789.144266 689 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:1740395789.148212 689 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.1/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:1740395793.557421 695 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:1740395793.561693 695 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.1/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.1/docs/tutorials/mnist_example/cert/col_charlie
The CSR Hash 5a7cd1a4be6799630e2a4598c8304abcb66d558aaabdbd3a052019110d3653abb31702acedd5c252fe869486dc277b14
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:1740395798.025166 701 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:1740395798.029374 701 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.1/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 5a7cd1a4be6799630e2a4598c8304abcb66d558aaabdbd3a052019110d3653abb31702acedd5c252fe869486dc277b14
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.1/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:1740395802.564842 707 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:1740395802.568953 707 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.1/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:1740395806.969316 713 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:1740395806.973354 713 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.1/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:1740395812.085603 721 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:1740395812.092818 721 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:1740395812.153215 719 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:1740395812.166274 719 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:1740395812.169729 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:1740395812.184878 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.1/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.1/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.1/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(
[11:16:59] INFO FL-Plan hash is 667e5dd02398b63abdf62e222460a70d722f0aa4b812216783b491c64cd0b3b87e20d1e82b5e6afde0b69e3af7fb78da ]8;id=494338;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=269873;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=850012;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=756308;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=524463;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=685396;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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: 60189
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=259272;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/collaborator.py\collaborator.py]8;;\:]8;id=962887;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/collaborator.py#85\85]8;;\
INFO Building `src.dataloader.KerasMNISTInMemory` Module. ]8;id=889807;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=380179;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
[11:16:59] INFO FL-Plan hash is 667e5dd02398b63abdf62e222460a70d722f0aa4b812216783b491c64cd0b3b87e20d1e82b5e6afde0b69e3af7fb78da ]8;id=190115;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=705598;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=76445;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=702663;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/plan/plan.yaml.
[11:16:59] INFO FL-Plan hash is 667e5dd02398b63abdf62e222460a70d722f0aa4b812216783b491c64cd0b3b87e20d1e82b5e6afde0b69e3af7fb78da ]8;id=981223;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=86404;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#288\288]8;;\
INFO Parsing Federated Learning Plan : SUCCESS : ]8;id=804759;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=629389;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#193\193]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/plan/plan.yaml.
INFO aggregator: ]8;id=823685;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=636203;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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: 60189
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=845371;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/aggregator.py\aggregator.py]8;;\:]8;id=38555;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/aggregator.py#101\101]8;;\
INFO 🧿 Starting the Aggregator Service. ]8;id=252922;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/aggregator.py\aggregator.py]8;;\:]8;id=969042;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/aggregator.py#103\103]8;;\
INFO Building `openfl.component.RandomGroupedAssigner` Module. ]8;id=799416;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=152704;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=488510;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=898968;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.component.straggler_handling_functions.CutoffTimeBasedStragglerHandling` Module. ]8;id=796929;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=314245;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
WARNING CutoffTimeBasedStragglerHandling is disabled as straggler_cutoff_time is set to np.inf. ]8;id=244987;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/straggler_handling_functions/cutoff_time_based_straggler_handling.py\cutoff_time_based_straggler_handling.py]8;;\:]8;id=587020;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/straggler_handling_functions/cutoff_time_based_straggler_handling.py#46\46]8;;\
INFO Building `openfl.component.Aggregator` Module. ]8;id=762967;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=64352;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO aggregator: ]8;id=311594;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=753738;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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: 60189
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=103955;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/collaborator.py\collaborator.py]8;;\:]8;id=835906;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/interface/collaborator.py#85\85]8;;\
INFO Building `src.dataloader.KerasMNISTInMemory` Module. ]8;id=520329;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=381504;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Starting Aggregator gRPC Server ]8;id=349038;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/transport/grpc/aggregator_server.py\aggregator_server.py]8;;\:]8;id=327589;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/transport/grpc/aggregator_server.py#347\347]8;;\
INFO MNIST > X_train Shape : (30000, 28, 28, 1) ]8;id=314825;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=579025;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#108\108]8;;\
INFO MNIST > y_train Shape : (30000,) ]8;id=761966;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=847566;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#109\109]8;;\
INFO MNIST > Train Samples : 30000 ]8;id=275752;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=498675;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#110\110]8;;\
INFO MNIST > Valid Samples : 5000 ]8;id=938141;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=627955;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#111\111]8;;\
INFO Building `src.taskrunner.KerasCNN` Module. ]8;id=897934;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=868951;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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)
[11:17:00] INFO MNIST > X_train Shape : (30000, 28, 28, 1) ]8;id=661726;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=102803;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#108\108]8;;\
INFO MNIST > y_train Shape : (30000,) ]8;id=971932;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=609051;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#109\109]8;;\
INFO MNIST > Train Samples : 30000 ]8;id=174070;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=698868;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#110\110]8;;\
INFO MNIST > Valid Samples : 5000 ]8;id=154357;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py\mnist_utils.py]8;;\:]8;id=195425;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/mnist_utils.py#111\111]8;;\
INFO Building `src.taskrunner.KerasCNN` Module. ]8;id=356148;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=165779;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
/home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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)
[11:17:00] INFO Model: "sequential" ]8;id=921926;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/lib/python3.10/site-packages/keras/src/utils/summary_utils.py\summary_utils.py]8;;\:]8;id=898769;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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=292492;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=125902;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py#32\32]8;;\
INFO Valid Set Size : 5000 ]8;id=483589;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=71997;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py#33\33]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=985204;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=215959;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.component.Collaborator` Module. ]8;id=510001;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=272852;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Waiting for tasks... ]8;id=599495;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=343925;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:00] INFO Sending tasks to collaborator charlie for round 0 ]8;id=834517;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=907494;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=977619;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=642692;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
INFO Model: "sequential" ]8;id=426409;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/lib/python3.10/site-packages/keras/src/utils/summary_utils.py\summary_utils.py]8;;\:]8;id=140854;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/envs/v1.7.1/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=389232;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=374489;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py#32\32]8;;\
INFO Valid Set Size : 5000 ]8;id=186902;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py\taskrunner.py]8;;\:]8;id=123203;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/docs/tutorials/mnist_example/src/taskrunner.py#33\33]8;;\
INFO Building `openfl.pipelines.NoCompressionPipeline` Module. ]8;id=989282;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=597318;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Building `openfl.component.Collaborator` Module. ]8;id=523403;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py\plan.py]8;;\:]8;id=248730;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/plan/plan.py#226\226]8;;\
INFO Waiting for tasks... ]8;id=483979;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=486125;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 0 ]8;id=681139;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=988422;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=314013;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=22514;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 1s 528ms/step - accuracy: 0.0938 - loss: 2.3161
12/Unknown 1s 6ms/step - accuracy: 0.0812 - loss: 2.3111
24/Unknown 1s 5ms/step - accuracy: 0.0758 - loss: 2.3101
4/Unknown 1s 19ms/step - accuracy: 0.0586 - loss: 2.3113
18/Unknown 1s 7ms/step - accuracy: 0.0678 - loss: 2.3126
31/Unknown 1s 6ms/step - accuracy: 0.0707 - loss: 2.3126
43/Unknown 1s 5ms/step - accuracy: 0.0716 - loss: 2.3126
55/Unknown 1s 5ms/step - accuracy: 0.0716 - loss: 2.3128
67/Unknown 1s 5ms/step - accuracy: 0.0709 - loss: 2.3128
79/Unknown 1s 5ms/step - accuracy: 0.0702 - loss: 2.3129
91/Unknown 1s 5ms/step - accuracy: 0.0693 - loss: 2.3129
102/Unknown 1s 5ms/step - accuracy: 0.0684 - loss: 2.3130
113/Unknown 1s 5ms/step - accuracy: 0.0678 - loss: 2.3130
125/Unknown 1s 5ms/step - accuracy: 0.0672 - loss: 2.3130
139/Unknown 1s 5ms/step - accuracy: 0.0668 - loss: 2.3130
/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)
/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 5ms/step - accuracy: 0.0664 - loss: 2.3112
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.0665 - loss: 2.3130
[11:17:01] INFO Collaborator bob is sending task results for aggregated_model_validation, round 0 ]8;id=400251;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=476129;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:01] INFO Run 0 epoch of 0 round ]8;id=46507;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=22814;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
[11:17:02] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 0 ]8;id=532721;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=815482;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:02] INFO Run 0 epoch of 0 round ]8;id=475058;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=972431;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 9s - 10ms/step - accuracy: 0.9135 - loss: 0.2938
938/938 - 9s - 10ms/step - accuracy: 0.9441 - loss: 0.1906
[11:17:13] INFO Collaborator bob is sending task results for train, round 0 ]8;id=428348;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=351271;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 0.9922 - loss: 0.0620
25/Unknown 0s 2ms/step - accuracy: 0.9764 - loss: 0.0632
49/Unknown 0s 2ms/step - accuracy: 0.9747 - loss: 0.0673
74/Unknown 0s 2ms/step - accuracy: 0.9752 - loss: 0.0680
98/Unknown 0s 2ms/step - accuracy: 0.9748 - loss: 0.0704
122/Unknown 0s 2ms/step - accuracy: 0.9742 - loss: 0.0725
147/Unknown 0s 2ms/step - accuracy: 0.9739 - loss: 0.0740
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9738 - loss: 0.0745
[11:17:14] INFO Collaborator charlie is sending task results for train, round 0 ]8;id=687216;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=486925;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 0 ]8;id=291630;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=403381;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 0: Collaborators that have completed all tasks: ['bob'] ]8;id=25895;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=355194;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:17:14] INFO Waiting for tasks... ]8;id=737588;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=541788;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9453 - loss: 0.1274
26/Unknown 0s 2ms/step - accuracy: 0.9490 - loss: 0.1310
49/Unknown 0s 2ms/step - accuracy: 0.9515 - loss: 0.1379
73/Unknown 0s 2ms/step - accuracy: 0.9506 - loss: 0.1480
99/Unknown 0s 2ms/step - accuracy: 0.9494 - loss: 0.1553
123/Unknown 0s 2ms/step - accuracy: 0.9486 - loss: 0.1596
148/Unknown 0s 2ms/step - accuracy: 0.9481 - loss: 0.1632
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9479 - loss: 0.1644
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 0 ]8;id=704335;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=769075;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 0: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=451775;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=528835;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:17:15] INFO Round 0: saved the best model with score 0.063200 ]8;id=585147;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=758426;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 0 model... ]8;id=722768;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=445530;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 1... ]8;id=522519;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=769410;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:17:15] INFO Waiting for tasks... ]8;id=621291;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=409796;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 1 ]8;id=104467;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=254074;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=466523;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=489520;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 40ms/step - accuracy: 0.9375 - loss: 0.2442
23/Unknown 0s 2ms/step - accuracy: 0.9757 - loss: 0.0918
46/Unknown 0s 2ms/step - accuracy: 0.9745 - loss: 0.0895
70/Unknown 0s 2ms/step - accuracy: 0.9737 - loss: 0.0892
94/Unknown 0s 2ms/step - accuracy: 0.9733 - loss: 0.0903
120/Unknown 0s 2ms/step - accuracy: 0.9732 - loss: 0.0913
144/Unknown 0s 2ms/step - accuracy: 0.9728 - loss: 0.0932
/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.9724 - loss: 0.0943
[11:17:16] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 1 ]8;id=698493;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=298465;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:16] INFO Run 0 epoch of 1 round ]8;id=519628;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=545559;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9841 - loss: 0.0506
[11:17:21] INFO Collaborator charlie is sending task results for train, round 1 ]8;id=503557;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=740483;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 40ms/step - accuracy: 0.9375 - loss: 0.2824
25/Unknown 0s 2ms/step - accuracy: 0.9493 - loss: 0.1279
48/Unknown 0s 2ms/step - accuracy: 0.9540 - loss: 0.1182
71/Unknown 0s 2ms/step - accuracy: 0.9569 - loss: 0.1146
93/Unknown 0s 2ms/step - accuracy: 0.9587 - loss: 0.1128
116/Unknown 0s 2ms/step - accuracy: 0.9600 - loss: 0.1113
140/Unknown 0s 2ms/step - accuracy: 0.9610 - loss: 0.1105
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9615 - loss: 0.1100
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 1 ]8;id=872986;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=805025;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 1: Collaborators that have completed all tasks: ['charlie'] ]8;id=727768;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=686830;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:17:21] INFO Waiting for tasks... ]8;id=974972;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=265938;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:24] INFO Waiting for tasks... ]8;id=716027;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=647386;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:24] INFO Sending tasks to collaborator bob for round 1 ]8;id=428884;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=417964;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=14542;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=616181;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 39ms/step - accuracy: 0.9688 - loss: 0.1393
24/Unknown 0s 2ms/step - accuracy: 0.9638 - loss: 0.1080
48/Unknown 0s 2ms/step - accuracy: 0.9675 - loss: 0.1035
73/Unknown 0s 2ms/step - accuracy: 0.9700 - loss: 0.0985
97/Unknown 0s 2ms/step - accuracy: 0.9707 - loss: 0.0977
122/Unknown 0s 2ms/step - accuracy: 0.9713 - loss: 0.0969
147/Unknown 0s 2ms/step - accuracy: 0.9716 - loss: 0.0967
/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.9717 - loss: 0.0966
[11:17:25] INFO Collaborator bob is sending task results for aggregated_model_validation, round 1 ]8;id=943600;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=500605;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:25] INFO Run 0 epoch of 1 round ]8;id=656513;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=644436;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9655 - loss: 0.1119
[11:17:29] INFO Collaborator bob is sending task results for train, round 1 ]8;id=885887;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=668959;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 39ms/step - accuracy: 1.0000 - loss: 0.0202
25/Unknown 0s 2ms/step - accuracy: 0.9840 - loss: 0.0566
51/Unknown 0s 2ms/step - accuracy: 0.9827 - loss: 0.0593
76/Unknown 0s 2ms/step - accuracy: 0.9824 - loss: 0.0591
100/Unknown 0s 2ms/step - accuracy: 0.9821 - loss: 0.0592
122/Unknown 0s 2ms/step - accuracy: 0.9820 - loss: 0.0595
144/Unknown 0s 2ms/step - accuracy: 0.9819 - loss: 0.0594
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9818 - loss: 0.0594
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 1 ]8;id=173553;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=52773;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 1: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=544773;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=849842;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 1: saved the best model with score 0.970600 ]8;id=410987;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=730310;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 1 model... ]8;id=942694;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=472655;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 2... ]8;id=141246;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=422031;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:17:29] INFO Waiting for tasks... ]8;id=352333;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=926238;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 2 ]8;id=323056;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=682350;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=70399;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=395402;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 38ms/step - accuracy: 1.0000 - loss: 0.0306
24/Unknown 0s 2ms/step - accuracy: 0.9851 - loss: 0.0487
48/Unknown 0s 2ms/step - accuracy: 0.9851 - loss: 0.0489
72/Unknown 0s 2ms/step - accuracy: 0.9836 - loss: 0.0506
96/Unknown 0s 2ms/step - accuracy: 0.9825 - loss: 0.0522
147/Unknown 0s 2ms/step - accuracy: 0.9816 - loss: 0.0541
/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.9814 - loss: 0.0545
[11:17:30] INFO Collaborator bob is sending task results for aggregated_model_validation, round 2 ]8;id=635977;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=582926;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:31] INFO Run 0 epoch of 2 round ]8;id=950224;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=644406;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
[11:17:31] INFO Waiting for tasks... ]8;id=273985;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=380678;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:31] INFO Sending tasks to collaborator charlie for round 2 ]8;id=916137;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=126127;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=825620;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=63805;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 67ms/step - accuracy: 1.0000 - loss: 0.0274
11/Unknown 0s 5ms/step - accuracy: 0.9873 - loss: 0.0347
24/Unknown 0s 5ms/step - accuracy: 0.9853 - loss: 0.0417
37/Unknown 0s 4ms/step - accuracy: 0.9838 - loss: 0.0471
49/Unknown 0s 4ms/step - accuracy: 0.9832 - loss: 0.0497
61/Unknown 0s 4ms/step - accuracy: 0.9829 - loss: 0.0518
73/Unknown 0s 4ms/step - accuracy: 0.9824 - loss: 0.0539
85/Unknown 0s 4ms/step - accuracy: 0.9819 - loss: 0.0555
97/Unknown 0s 4ms/step - accuracy: 0.9818 - loss: 0.0563
108/Unknown 1s 4ms/step - accuracy: 0.9818 - loss: 0.0567
120/Unknown 1s 4ms/step - accuracy: 0.9818 - loss: 0.0574
131/Unknown 1s 4ms/step - accuracy: 0.9817 - loss: 0.0580
142/Unknown 1s 4ms/step - accuracy: 0.9817 - loss: 0.0584
153/Unknown 1s 4ms/step - accuracy: 0.9817 - loss: 0.0586
/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 5ms/step - accuracy: 0.9817 - loss: 0.0586
[11:17:33] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 2 ]8;id=646403;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=90920;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:33] INFO Run 0 epoch of 2 round ]8;id=512225;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=42778;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 6s - 7ms/step - accuracy: 0.9741 - loss: 0.0829
[11:17:37] INFO Collaborator bob is sending task results for train, round 2 ]8;id=955501;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=939683;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 61ms/step - accuracy: 1.0000 - loss: 0.0100
13/Unknown 0s 4ms/step - accuracy: 0.9921 - loss: 0.0279
25/Unknown 0s 4ms/step - accuracy: 0.9882 - loss: 0.0349
37/Unknown 0s 4ms/step - accuracy: 0.9860 - loss: 0.0400
50/Unknown 0s 4ms/step - accuracy: 0.9853 - loss: 0.0418
62/Unknown 0s 4ms/step - accuracy: 0.9847 - loss: 0.0433
74/Unknown 0s 4ms/step - accuracy: 0.9842 - loss: 0.0451
86/Unknown 0s 4ms/step - accuracy: 0.9839 - loss: 0.0465
98/Unknown 0s 4ms/step - accuracy: 0.9836 - loss: 0.0475
109/Unknown 1s 4ms/step - accuracy: 0.9833 - loss: 0.0483
121/Unknown 1s 4ms/step - accuracy: 0.9830 - loss: 0.0490
132/Unknown 1s 4ms/step - accuracy: 0.9828 - loss: 0.0496
144/Unknown 1s 4ms/step - accuracy: 0.9827 - loss: 0.0500
155/Unknown 1s 4ms/step - accuracy: 0.9826 - loss: 0.0504
157/157 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.9825 - loss: 0.0505
[11:17:38] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 2 ]8;id=94897;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=942114;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 2: Collaborators that have completed all tasks: ['bob'] ]8;id=537964;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=824446;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:17:38] INFO Waiting for tasks... ]8;id=372279;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=591314;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
938/938 - 6s - 6ms/step - accuracy: 0.9900 - loss: 0.0322
[11:17:39] INFO Collaborator charlie is sending task results for train, round 2 ]8;id=897407;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=863516;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9531 - loss: 0.2129
24/Unknown 0s 2ms/step - accuracy: 0.9693 - loss: 0.1047
45/Unknown 0s 2ms/step - accuracy: 0.9716 - loss: 0.0950
68/Unknown 0s 2ms/step - accuracy: 0.9725 - loss: 0.0921
92/Unknown 0s 2ms/step - accuracy: 0.9723 - loss: 0.0934
116/Unknown 0s 2ms/step - accuracy: 0.9721 - loss: 0.0941
142/Unknown 0s 2ms/step - accuracy: 0.9719 - loss: 0.0946
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9718 - loss: 0.0948
[11:17:40] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 2 ]8;id=417361;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=959294;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 2: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=346031;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=493567;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 2: saved the best model with score 0.981100 ]8;id=901453;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=275432;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 2 model... ]8;id=820900;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=438403;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 3... ]8;id=675228;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=566741;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:17:40] INFO Waiting for tasks... ]8;id=962970;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=306236;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 3 ]8;id=276622;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=1723;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=531695;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=613014;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 39ms/step - accuracy: 0.9688 - loss: 0.0582
26/Unknown 0s 2ms/step - accuracy: 0.9826 - loss: 0.0498
50/Unknown 0s 2ms/step - accuracy: 0.9822 - loss: 0.0509
74/Unknown 0s 2ms/step - accuracy: 0.9822 - loss: 0.0516
100/Unknown 0s 2ms/step - accuracy: 0.9825 - loss: 0.0512
121/Unknown 0s 2ms/step - accuracy: 0.9825 - loss: 0.0512
145/Unknown 0s 2ms/step - accuracy: 0.9826 - loss: 0.0508/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.9827 - loss: 0.0505
[11:17:41] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 3 ]8;id=778536;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=747912;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:41] INFO Run 0 epoch of 3 round ]8;id=179866;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=340956;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9926 - loss: 0.0238
[11:17:45] INFO Collaborator charlie is sending task results for train, round 3 ]8;id=226623;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=117791;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9688 - loss: 0.1966
25/Unknown 0s 2ms/step - accuracy: 0.9679 - loss: 0.1332
48/Unknown 0s 2ms/step - accuracy: 0.9708 - loss: 0.1142
71/Unknown 0s 2ms/step - accuracy: 0.9719 - loss: 0.1061
96/Unknown 0s 2ms/step - accuracy: 0.9723 - loss: 0.1015
121/Unknown 0s 2ms/step - accuracy: 0.9727 - loss: 0.0977
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9732 - loss: 0.0942
[11:17:46] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 3 ]8;id=636103;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=558308;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 3: Collaborators that have completed all tasks: ['charlie'] ]8;id=443481;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=407565;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:17:46] INFO Waiting for tasks... ]8;id=703176;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=526158;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:48] INFO Waiting for tasks... ]8;id=31447;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=72766;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:48] INFO Sending tasks to collaborator bob for round 3 ]8;id=27925;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=20697;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=700223;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=474858;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 3ms/step - accuracy: 0.9766 - loss: 0.0296
25/Unknown 0s 2ms/step - accuracy: 0.9866 - loss: 0.0290
50/Unknown 0s 2ms/step - accuracy: 0.9864 - loss: 0.0354
75/Unknown 0s 2ms/step - accuracy: 0.9866 - loss: 0.0382
99/Unknown 0s 2ms/step - accuracy: 0.9864 - loss: 0.0402
124/Unknown 0s 2ms/step - accuracy: 0.9861 - loss: 0.0416
149/Unknown 0s 2ms/step - accuracy: 0.9860 - loss: 0.0422/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.9860 - loss: 0.0423
[11:17:49] INFO Collaborator bob is sending task results for aggregated_model_validation, round 3 ]8;id=628009;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=389165;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:49] INFO Run 0 epoch of 3 round ]8;id=768775;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=163897;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9797 - loss: 0.0625
[11:17:54] INFO Collaborator bob is sending task results for train, round 3 ]8;id=434404;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=458778;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
3/Unknown 0s 3ms/step - accuracy: 0.9809 - loss: 0.0391
26/Unknown 0s 2ms/step - accuracy: 0.9912 - loss: 0.0260
51/Unknown 0s 2ms/step - accuracy: 0.9895 - loss: 0.0342
75/Unknown 0s 2ms/step - accuracy: 0.9888 - loss: 0.0375
98/Unknown 0s 2ms/step - accuracy: 0.9886 - loss: 0.0383
122/Unknown 0s 2ms/step - accuracy: 0.9887 - loss: 0.0385
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9887 - loss: 0.0386
[11:17:55] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 3 ]8;id=232004;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=267939;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 3: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=44820;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=270505;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 3: saved the best model with score 0.984900 ]8;id=572164;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=968540;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 3 model... ]8;id=247827;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=708275;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 4... ]8;id=656868;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=965717;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:17:55] INFO Waiting for tasks... ]8;id=900699;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=750278;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 4 ]8;id=553243;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=217102;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=601698;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=406603;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 39ms/step - accuracy: 0.9688 - loss: 0.0877
23/Unknown 0s 2ms/step - accuracy: 0.9854 - loss: 0.0579
46/Unknown 0s 2ms/step - accuracy: 0.9881 - loss: 0.0486
72/Unknown 0s 2ms/step - accuracy: 0.9884 - loss: 0.0451
96/Unknown 0s 2ms/step - accuracy: 0.9888 - loss: 0.0430[11:17:56] INFO Waiting for tasks... ]8;id=475688;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=924583;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:17:56] INFO Sending tasks to collaborator charlie for round 4 ]8;id=725003;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=691087;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=481269;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=977136;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
111/Unknown 0s 2ms/step - accuracy: 0.9888 - loss: 0.0424
124/Unknown 0s 3ms/step - accuracy: 0.9888 - loss: 0.0420
136/Unknown 0s 3ms/step - accuracy: 0.9887 - loss: 0.0417
149/Unknown 0s 3ms/step - accuracy: 0.9886 - loss: 0.0414
/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.9886 - loss: 0.0412
INFO Collaborator bob is sending task results for aggregated_model_validation, round 4 ]8;id=653014;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=215892;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:56] INFO Run 0 epoch of 4 round ]8;id=883789;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=911682;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
1/Unknown 0s 61ms/step - accuracy: 1.0000 - loss: 0.0179
13/Unknown 0s 4ms/step - accuracy: 0.9936 - loss: 0.0260
26/Unknown 0s 4ms/step - accuracy: 0.9914 - loss: 0.0339
39/Unknown 0s 4ms/step - accuracy: 0.9897 - loss: 0.0374
51/Unknown 0s 4ms/step - accuracy: 0.9890 - loss: 0.0388
63/Unknown 0s 4ms/step - accuracy: 0.9885 - loss: 0.0396
74/Unknown 0s 4ms/step - accuracy: 0.9882 - loss: 0.0401
84/Unknown 0s 4ms/step - accuracy: 0.9879 - loss: 0.0405
94/Unknown 0s 5ms/step - accuracy: 0.9876 - loss: 0.0410
104/Unknown 1s 5ms/step - accuracy: 0.9874 - loss: 0.0412
114/Unknown 1s 5ms/step - accuracy: 0.9873 - loss: 0.0413
124/Unknown 1s 5ms/step - accuracy: 0.9872 - loss: 0.0414
135/Unknown 1s 5ms/step - accuracy: 0.9872 - loss: 0.0414
146/Unknown 1s 5ms/step - accuracy: 0.9871 - loss: 0.0416
157/Unknown 1s 5ms/step - accuracy: 0.9870 - loss: 0.0417/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 5ms/step - accuracy: 0.9870 - loss: 0.0417
[11:17:57] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 4 ]8;id=179977;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=46012;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:17:58] INFO Run 0 epoch of 4 round ]8;id=852505;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=890061;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 7s - 8ms/step - accuracy: 0.9842 - loss: 0.0523
938/938 - 7s - 7ms/step - accuracy: 0.9942 - loss: 0.0183
[11:18:04] INFO Collaborator charlie is sending task results for train, round 4 ]8;id=290310;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=407342;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 0.9922 - loss: 0.0558
26/Unknown 0s 2ms/step - accuracy: 0.9756 - loss: 0.0871
49/Unknown 0s 2ms/step - accuracy: 0.9761 - loss: 0.0823
73/Unknown 0s 2ms/step - accuracy: 0.9772 - loss: 0.0775
97/Unknown 0s 2ms/step - accuracy: 0.9776 - loss: 0.0757
121/Unknown 0s 2ms/step - accuracy: 0.9774 - loss: 0.0760
144/Unknown 0s 2ms/step - accuracy: 0.9773 - loss: 0.0758
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9771 - loss: 0.0758
[11:18:05] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 4 ]8;id=228124;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=40352;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 4: Collaborators that have completed all tasks: ['charlie'] ]8;id=594921;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=506388;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:18:05] INFO Waiting for tasks... ]8;id=53688;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=826581;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:06] INFO Collaborator bob is sending task results for train, round 4 ]8;id=820912;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=159167;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 40ms/step - accuracy: 1.0000 - loss: 0.0170
26/Unknown 0s 2ms/step - accuracy: 0.9938 - loss: 0.0291
50/Unknown 0s 2ms/step - accuracy: 0.9925 - loss: 0.0315
74/Unknown 0s 2ms/step - accuracy: 0.9916 - loss: 0.0351
99/Unknown 0s 2ms/step - accuracy: 0.9907 - loss: 0.0380
123/Unknown 0s 2ms/step - accuracy: 0.9904 - loss: 0.0395
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9900 - loss: 0.0408
[11:18:07] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 4 ]8;id=722810;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=831353;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 4: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=631215;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=687591;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 4: saved the best model with score 0.987000 ]8;id=643274;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=416411;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 4 model... ]8;id=659540;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=91238;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 5... ]8;id=910421;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=981406;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:18:07] INFO Waiting for tasks... ]8;id=237669;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=255943;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 5 ]8;id=962289;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=875992;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=36069;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=9549;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 40ms/step - accuracy: 1.0000 - loss: 0.0456
24/Unknown 0s 2ms/step - accuracy: 0.9921 - loss: 0.0229
48/Unknown 0s 2ms/step - accuracy: 0.9901 - loss: 0.0251
72/Unknown 0s 2ms/step - accuracy: 0.9891 - loss: 0.0280
96/Unknown 0s 2ms/step - accuracy: 0.9884 - loss: 0.0320
121/Unknown 0s 2ms/step - accuracy: 0.9878 - loss: 0.0345
145/Unknown 0s 2ms/step - accuracy: 0.9875 - loss: 0.0362
/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.9875 - loss: 0.0367
[11:18:08] INFO Collaborator bob is sending task results for aggregated_model_validation, round 5 ]8;id=356443;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=766047;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:08] INFO Run 0 epoch of 5 round ]8;id=807496;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=351477;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9862 - loss: 0.0446
[11:18:12] INFO Collaborator bob is sending task results for train, round 5 ]8;id=276330;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=679060;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 0.9219 - loss: 0.1393
25/Unknown 0s 2ms/step - accuracy: 0.9724 - loss: 0.0775
51/Unknown 0s 2ms/step - accuracy: 0.9788 - loss: 0.0599
76/Unknown 0s 2ms/step - accuracy: 0.9816 - loss: 0.0522
101/Unknown 0s 2ms/step - accuracy: 0.9830 - loss: 0.0489
128/Unknown 0s 2ms/step - accuracy: 0.9840 - loss: 0.0463
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9848 - loss: 0.0440
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 5 ]8;id=590926;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=503327;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 5: Collaborators that have completed all tasks: ['bob'] ]8;id=390507;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=754311;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:18:12] INFO Waiting for tasks... ]8;id=502623;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=184961;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:15] INFO Waiting for tasks... ]8;id=442952;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=322439;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:15] INFO Sending tasks to collaborator charlie for round 5 ]8;id=377710;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=63540;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=926720;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=199442;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 38ms/step - accuracy: 1.0000 - loss: 0.0034
26/Unknown 0s 2ms/step - accuracy: 0.9886 - loss: 0.0348
49/Unknown 0s 2ms/step - accuracy: 0.9867 - loss: 0.0411
74/Unknown 0s 2ms/step - accuracy: 0.9867 - loss: 0.0413
99/Unknown 0s 2ms/step - accuracy: 0.9869 - loss: 0.0408
124/Unknown 0s 2ms/step - accuracy: 0.9871 - loss: 0.0407
149/Unknown 0s 2ms/step - accuracy: 0.9870 - loss: 0.0408/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.9870 - loss: 0.0408
[11:18:16] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 5 ]8;id=980959;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=816848;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:16] INFO Run 0 epoch of 5 round ]8;id=329590;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=596256;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9957 - loss: 0.0147
[11:18:20] INFO Collaborator charlie is sending task results for train, round 5 ]8;id=466940;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=627613;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 38ms/step - accuracy: 0.9688 - loss: 0.2091
26/Unknown 0s 2ms/step - accuracy: 0.9790 - loss: 0.0865
50/Unknown 0s 2ms/step - accuracy: 0.9770 - loss: 0.0885
74/Unknown 0s 2ms/step - accuracy: 0.9766 - loss: 0.0881
98/Unknown 0s 2ms/step - accuracy: 0.9762 - loss: 0.0894
122/Unknown 0s 2ms/step - accuracy: 0.9760 - loss: 0.0902
146/Unknown 0s 2ms/step - accuracy: 0.9760 - loss: 0.0900
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9760 - loss: 0.0900
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 5 ]8;id=135329;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=961448;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 5: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=409829;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=726147;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Saving round 5 model... ]8;id=858646;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=80970;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 6... ]8;id=151884;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=429541;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:18:20] INFO Waiting for tasks... ]8;id=190907;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=982496;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 6 ]8;id=277713;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=522537;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=349133;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=206507;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 38ms/step - accuracy: 0.9688 - loss: 0.0377
25/Unknown 0s 2ms/step - accuracy: 0.9874 - loss: 0.0326
50/Unknown 0s 2ms/step - accuracy: 0.9883 - loss: 0.0334
74/Unknown 0s 2ms/step - accuracy: 0.9881 - loss: 0.0358
98/Unknown 0s 2ms/step - accuracy: 0.9882 - loss: 0.0362
123/Unknown 0s 2ms/step - accuracy: 0.9881 - loss: 0.0367
147/Unknown 0s 2ms/step - accuracy: 0.9881 - loss: 0.0367/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.0369
[11:18:21] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 6 ]8;id=93618;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=332921;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:21] INFO Run 0 epoch of 6 round ]8;id=188193;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=799253;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
[11:18:22] INFO Waiting for tasks... ]8;id=543286;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=261268;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:23] INFO Sending tasks to collaborator bob for round 6 ]8;id=825363;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=766707;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
[11:18:23] INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=728495;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=403269;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 63ms/step - accuracy: 0.9688 - loss: 0.2314
10/Unknown 0s 6ms/step - accuracy: 0.9830 - loss: 0.0796
21/Unknown 0s 5ms/step - accuracy: 0.9835 - loss: 0.0603
31/Unknown 0s 5ms/step - accuracy: 0.9837 - loss: 0.0551
42/Unknown 0s 5ms/step - accuracy: 0.9840 - loss: 0.0523
53/Unknown 0s 5ms/step - accuracy: 0.9841 - loss: 0.0505
65/Unknown 0s 5ms/step - accuracy: 0.9844 - loss: 0.0487
77/Unknown 0s 5ms/step - accuracy: 0.9847 - loss: 0.0472
89/Unknown 0s 5ms/step - accuracy: 0.9849 - loss: 0.0462
99/Unknown 1s 5ms/step - accuracy: 0.9851 - loss: 0.0456
110/Unknown 1s 5ms/step - accuracy: 0.9852 - loss: 0.0452
122/Unknown 1s 5ms/step - accuracy: 0.9854 - loss: 0.0448
133/Unknown 1s 5ms/step - accuracy: 0.9856 - loss: 0.0444
145/Unknown 1s 5ms/step - accuracy: 0.9858 - loss: 0.0440
156/Unknown 1s 5ms/step - accuracy: 0.9860 - loss: 0.0435/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 5ms/step - accuracy: 0.9860 - loss: 0.0435
[11:18:24] INFO Collaborator bob is sending task results for aggregated_model_validation, round 6 ]8;id=438522;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=97374;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:25] INFO Run 0 epoch of 6 round ]8;id=621037;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=997852;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 6s - 6ms/step - accuracy: 0.9959 - loss: 0.0125
938/938 - 5s - 5ms/step - accuracy: 0.9866 - loss: 0.0406
[11:18:29] INFO Collaborator bob is sending task results for train, round 6 ]8;id=415998;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=459446;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 3ms/step - accuracy: 1.0000 - loss: 0.0184
25/Unknown 0s 2ms/step - accuracy: 0.9867 - loss: 0.0440
49/Unknown 0s 2ms/step - accuracy: 0.9857 - loss: 0.0440
71/Unknown 0s 2ms/step - accuracy: 0.9856 - loss: 0.0434
95/Unknown 0s 2ms/step - accuracy: 0.9857 - loss: 0.0433
120/Unknown 0s 2ms/step - accuracy: 0.9859 - loss: 0.0428
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9863 - loss: 0.0419
[11:18:30] INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 6 ]8;id=423769;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=298909;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 6: Collaborators that have completed all tasks: ['bob'] ]8;id=524542;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=543526;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:18:30] INFO Waiting for tasks... ]8;id=361664;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=289543;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:31] INFO Collaborator charlie is sending task results for train, round 6 ]8;id=974187;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=322413;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 40ms/step - accuracy: 0.9688 - loss: 0.0552
26/Unknown 0s 2ms/step - accuracy: 0.9829 - loss: 0.0466
50/Unknown 0s 2ms/step - accuracy: 0.9814 - loss: 0.0618
76/Unknown 0s 2ms/step - accuracy: 0.9802 - loss: 0.0706
100/Unknown 0s 2ms/step - accuracy: 0.9798 - loss: 0.0744
124/Unknown 0s 2ms/step - accuracy: 0.9797 - loss: 0.0759
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9799 - loss: 0.0760
[11:18:32] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 6 ]8;id=403489;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=424297;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 6: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=894335;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=140284;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 6: saved the best model with score 0.987800 ]8;id=146215;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=835030;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 6 model... ]8;id=630250;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=799616;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 7... ]8;id=300486;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=453503;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:18:32] INFO Waiting for tasks... ]8;id=13423;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=502979;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator charlie for round 7 ]8;id=546772;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=727941;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=819814;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=197529;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
2/Unknown 0s 2ms/step - accuracy: 0.9922 - loss: 0.0232
26/Unknown 0s 2ms/step - accuracy: 0.9902 - loss: 0.0268
51/Unknown 0s 2ms/step - accuracy: 0.9897 - loss: 0.0297
76/Unknown 0s 2ms/step - accuracy: 0.9891 - loss: 0.0312
102/Unknown 0s 2ms/step - accuracy: 0.9882 - loss: 0.0344
128/Unknown 0s 2ms/step - accuracy: 0.9876 - loss: 0.0363
154/Unknown 0s 2ms/step - accuracy: 0.9874 - loss: 0.0372/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.9873 - loss: 0.0372
[11:18:33] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 7 ]8;id=522927;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=478015;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:33] INFO Run 0 epoch of 7 round ]8;id=108988;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=977857;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9971 - loss: 0.0091
[11:18:37] INFO Collaborator charlie is sending task results for train, round 7 ]8;id=729070;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=832887;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 0.9922 - loss: 0.0159
25/Unknown 0s 2ms/step - accuracy: 0.9871 - loss: 0.0499
49/Unknown 0s 2ms/step - accuracy: 0.9835 - loss: 0.0661
73/Unknown 0s 2ms/step - accuracy: 0.9820 - loss: 0.0700
98/Unknown 0s 2ms/step - accuracy: 0.9816 - loss: 0.0708
125/Unknown 0s 2ms/step - accuracy: 0.9815 - loss: 0.0699
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9816 - loss: 0.0689
INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 7 ]8;id=700480;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=365402;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 7: Collaborators that have completed all tasks: ['charlie'] ]8;id=472992;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=444266;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:18:37] INFO Waiting for tasks... ]8;id=918585;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=971831;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:40] INFO Waiting for tasks... ]8;id=343255;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=220696;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:40] INFO Sending tasks to collaborator bob for round 7 ]8;id=294171;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=440361;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=615089;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=636047;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 36ms/step - accuracy: 1.0000 - loss: 0.0014
26/Unknown 0s 2ms/step - accuracy: 0.9923 - loss: 0.0186
53/Unknown 0s 2ms/step - accuracy: 0.9905 - loss: 0.0247
78/Unknown 0s 2ms/step - accuracy: 0.9899 - loss: 0.0266
104/Unknown 0s 2ms/step - accuracy: 0.9897 - loss: 0.0279
132/Unknown 0s 2ms/step - accuracy: 0.9896 - loss: 0.0288
/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.9896 - loss: 0.0293
[11:18:41] INFO Collaborator bob is sending task results for aggregated_model_validation, round 7 ]8;id=337437;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=189286;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:41] INFO Run 0 epoch of 7 round ]8;id=843812;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=642003;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9894 - loss: 0.0315
[11:18:46] INFO Collaborator bob is sending task results for train, round 7 ]8;id=151568;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=146296;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 37ms/step - accuracy: 0.9688 - loss: 0.1116
27/Unknown 0s 2ms/step - accuracy: 0.9894 - loss: 0.0420
52/Unknown 0s 2ms/step - accuracy: 0.9899 - loss: 0.0372
79/Unknown 0s 2ms/step - accuracy: 0.9901 - loss: 0.0352
106/Unknown 0s 2ms/step - accuracy: 0.9905 - loss: 0.0335
134/Unknown 0s 2ms/step - accuracy: 0.9907 - loss: 0.0323
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9908 - loss: 0.0318
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 7 ]8;id=916937;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=174481;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 7: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=121074;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=11369;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 7: saved the best model with score 0.988100 ]8;id=491457;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=725624;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 7 model... ]8;id=311507;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=885468;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 8... ]8;id=752700;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=949604;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:18:46] INFO Waiting for tasks... ]8;id=560988;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=444244;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 8 ]8;id=428079;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=747143;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=58243;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=491927;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/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.0551
27/Unknown 0s 2ms/step - accuracy: 0.9940 - loss: 0.0253
54/Unknown 0s 2ms/step - accuracy: 0.9939 - loss: 0.0260
79/Unknown 0s 2ms/step - accuracy: 0.9932 - loss: 0.0265
106/Unknown 0s 2ms/step - accuracy: 0.9923 - loss: 0.0287
134/Unknown 0s 2ms/step - accuracy: 0.9915 - loss: 0.0310
/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.9912 - loss: 0.0317
[11:18:47] INFO Waiting for tasks... ]8;id=891667;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=435661;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:47] INFO Sending tasks to collaborator charlie for round 8 ]8;id=672467;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=639661;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=840657;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=63371;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
[11:18:48] INFO Collaborator bob is sending task results for aggregated_model_validation, round 8 ]8;id=660460;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=37650;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:48] INFO Run 0 epoch of 8 round ]8;id=678348;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=949820;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
1/Unknown 0s 52ms/step - accuracy: 0.9375 - loss: 0.0947
13/Unknown 0s 4ms/step - accuracy: 0.9815 - loss: 0.0406
26/Unknown 0s 4ms/step - accuracy: 0.9845 - loss: 0.0389
39/Unknown 0s 4ms/step - accuracy: 0.9854 - loss: 0.0392
52/Unknown 0s 4ms/step - accuracy: 0.9858 - loss: 0.0394
65/Unknown 0s 4ms/step - accuracy: 0.9863 - loss: 0.0390
78/Unknown 0s 4ms/step - accuracy: 0.9862 - loss: 0.0396
91/Unknown 0s 4ms/step - accuracy: 0.9861 - loss: 0.0404
104/Unknown 0s 4ms/step - accuracy: 0.9861 - loss: 0.0407
117/Unknown 1s 4ms/step - accuracy: 0.9861 - loss: 0.0408
129/Unknown 1s 4ms/step - accuracy: 0.9862 - loss: 0.0409
142/Unknown 1s 4ms/step - accuracy: 0.9861 - loss: 0.0411
154/Unknown 1s 4ms/step - accuracy: 0.9861 - loss: 0.0412/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.9861 - loss: 0.0412
[11:18:49] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 8 ]8;id=808652;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=314186;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:49] INFO Run 0 epoch of 8 round ]8;id=451750;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=911565;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 7s - 7ms/step - accuracy: 0.9908 - loss: 0.0286
938/938 - 6s - 6ms/step - accuracy: 0.9975 - loss: 0.0082
[11:18:55] INFO Collaborator charlie is sending task results for train, round 8 ]8;id=884364;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=785814;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 38ms/step - accuracy: 0.9688 - loss: 0.0827
26/Unknown 0s 2ms/step - accuracy: 0.9775 - loss: 0.0738
52/Unknown 0s 2ms/step - accuracy: 0.9784 - loss: 0.0700
79/Unknown 0s 2ms/step - accuracy: 0.9778 - loss: 0.0698
104/Unknown 0s 2ms/step - accuracy: 0.9780 - loss: 0.0687
129/Unknown 0s 2ms/step - accuracy: 0.9783 - loss: 0.0686
154/Unknown 0s 2ms/step - accuracy: 0.9787 - loss: 0.0678
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9787 - loss: 0.0677
[11:18:56] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 8 ]8;id=608681;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=808765;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 8: Collaborators that have completed all tasks: ['charlie'] ]8;id=945937;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=962233;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:18:56] INFO Waiting for tasks... ]8;id=635281;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=504316;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:18:58] INFO Collaborator bob is sending task results for train, round 8 ]8;id=25776;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=879524;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 36ms/step - accuracy: 0.9688 - loss: 0.0735
26/Unknown 0s 2ms/step - accuracy: 0.9837 - loss: 0.0491
52/Unknown 0s 2ms/step - accuracy: 0.9870 - loss: 0.0404
78/Unknown 0s 2ms/step - accuracy: 0.9875 - loss: 0.0389
104/Unknown 0s 2ms/step - accuracy: 0.9878 - loss: 0.0374
132/Unknown 0s 2ms/step - accuracy: 0.9878 - loss: 0.0372
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9878 - loss: 0.0370
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 8 ]8;id=38514;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=948659;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 8: Collaborators that have completed all tasks: ['charlie', 'bob'] ]8;id=760220;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=984004;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Saving round 8 model... ]8;id=350868;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=4705;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Starting round 9... ]8;id=967;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=582027;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1007\1007]8;;\
[11:18:58] INFO Waiting for tasks... ]8;id=646499;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=445322;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending tasks to collaborator bob for round 9 ]8;id=225301;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=893501;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=71732;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=346445;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 37ms/step - accuracy: 1.0000 - loss: 0.0026
28/Unknown 0s 2ms/step - accuracy: 0.9923 - loss: 0.0251
56/Unknown 0s 2ms/step - accuracy: 0.9917 - loss: 0.0254
83/Unknown 0s 2ms/step - accuracy: 0.9913 - loss: 0.0261
111/Unknown 0s 2ms/step - accuracy: 0.9909 - loss: 0.0276
140/Unknown 0s 2ms/step - accuracy: 0.9907 - loss: 0.0282/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.9907 - loss: 0.0285
[11:18:59] INFO Collaborator bob is sending task results for aggregated_model_validation, round 9 ]8;id=107804;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=860457;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:18:59] INFO Run 0 epoch of 9 round ]8;id=884291;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=708365;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9923 - loss: 0.0244
[11:19:03] INFO Collaborator bob is sending task results for train, round 9 ]8;id=704981;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=339385;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
2/Unknown 0s 2ms/step - accuracy: 1.0000 - loss: 0.0029
28/Unknown 0s 2ms/step - accuracy: 0.9804 - loss: 0.0516
55/Unknown 0s 2ms/step - accuracy: 0.9774 - loss: 0.0603
81/Unknown 0s 2ms/step - accuracy: 0.9770 - loss: 0.0617
106/Unknown 0s 2ms/step - accuracy: 0.9772 - loss: 0.0622
133/Unknown 0s 2ms/step - accuracy: 0.9773 - loss: 0.0629
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9773 - loss: 0.0636
INFO Collaborator bob is sending task results for locally_tuned_model_validation, round 9 ]8;id=76723;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=399028;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 9: Collaborators that have completed all tasks: ['bob'] ]8;id=161086;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=170397;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
[11:19:03] INFO Waiting for tasks... ]8;id=354703;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=196346;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:19:06] INFO Waiting for tasks... ]8;id=264690;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=15733;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
[11:19:06] INFO Sending tasks to collaborator charlie for round 9 ]8;id=722310;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=419779;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#409\409]8;;\
INFO Received Tasks: [name: "aggregated_model_validation" ]8;id=964633;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=707392;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#184\184]8;;\
, name: "train"
, name: "locally_tuned_model_validation"
]
1/Unknown 0s 37ms/step - accuracy: 1.0000 - loss: 3.3127e-04
28/Unknown 0s 2ms/step - accuracy: 0.9926 - loss: 0.0276
54/Unknown 0s 2ms/step - accuracy: 0.9917 - loss: 0.0274
82/Unknown 0s 2ms/step - accuracy: 0.9912 - loss: 0.0276
110/Unknown 0s 2ms/step - accuracy: 0.9907 - loss: 0.0279
138/Unknown 0s 2ms/step - accuracy: 0.9903 - loss: 0.0287/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.9900 - loss: 0.0296
[11:19:07] INFO Collaborator charlie is sending task results for aggregated_model_validation, round 9 ]8;id=316452;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=651033;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
[11:19:07] INFO Run 0 epoch of 9 round ]8;id=394810;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py\runner_keras.py]8;;\:]8;id=236809;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/federated/task/runner_keras.py#103\103]8;;\
938/938 - 4s - 4ms/step - accuracy: 0.9971 - loss: 0.0086
[11:19:10] INFO Collaborator charlie is sending task results for train, round 9 ]8;id=479010;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=159011;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
1/Unknown 0s 36ms/step - accuracy: 0.9375 - loss: 0.1914
27/Unknown 0s 2ms/step - accuracy: 0.9709 - loss: 0.1195
51/Unknown 0s 2ms/step - accuracy: 0.9751 - loss: 0.1012
76/Unknown 0s 2ms/step - accuracy: 0.9767 - loss: 0.0938
101/Unknown 0s 2ms/step - accuracy: 0.9776 - loss: 0.0896
126/Unknown 0s 2ms/step - accuracy: 0.9782 - loss: 0.0859
157/157 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - accuracy: 0.9788 - loss: 0.0826
[11:19:11] INFO Collaborator charlie is sending task results for locally_tuned_model_validation, round 9 ]8;id=215852;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=663975;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#629\629]8;;\
INFO Round 9: Collaborators that have completed all tasks: ['bob', 'charlie'] ]8;id=684155;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=126145;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1049\1049]8;;\
INFO Round 9: saved the best model with score 0.988800 ]8;id=475512;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=959828;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#955\955]8;;\
INFO Saving round 9 model... ]8;id=70711;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=996110;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#994\994]8;;\
INFO Experiment Completed. Cleaning up... ]8;id=274639;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=963142;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#1005\1005]8;;\
[11:19:11] INFO Waiting for tasks... ]8;id=713623;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=627253;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#234\234]8;;\
INFO Sending signal to collaborator charlie to shutdown... ]8;id=153543;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py\aggregator.py]8;;\:]8;id=410955;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/aggregator/aggregator.py#356\356]8;;\
INFO Received shutdown signal. Exiting... ]8;id=459541;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py\collaborator.py]8;;\:]8;id=112306;file:///home/docs/checkouts/readthedocs.org/user_builds/openfl/checkouts/v1.7.1/openfl/component/collaborator/collaborator.py#199\199]8;;\
✔️ OK