Skip to content
Open

FOX API #3890

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
0b53363
dev free
yanchengnv Sep 13, 2025
dc31e2a
continue dev
yanchengnv Sep 17, 2025
0f097b0
make collab methods optional args
yanchengnv Sep 18, 2025
66e2735
dev
yanchengnv Sep 22, 2025
56a3cfa
refactor
yanchengnv Sep 23, 2025
01ca6b2
add event support
yanchengnv Sep 23, 2025
71609dc
rename to focs
yanchengnv Sep 24, 2025
6db8b8f
add license text
yanchengnv Sep 24, 2025
c244740
rename controller to strategy
yanchengnv Sep 24, 2025
4a1b8c4
dev controller
yanchengnv Sep 24, 2025
0937464
dev sys backend
yanchengnv Sep 25, 2025
73579ba
added collab decorator
yanchengnv Sep 26, 2025
3fdab7e
Merge branch 'NVIDIA:main' into free
yanchengnv Sep 27, 2025
b377266
dev sys integration
yanchengnv Sep 27, 2025
f32f41b
Merge branch 'free' of github.com:yanchengnv/NVFlare into free
yanchengnv Sep 27, 2025
904aa81
rename to use collab
yanchengnv Sep 29, 2025
dea4521
support collab signature
yanchengnv Sep 29, 2025
0812ad0
use collab signature
yanchengnv Sep 29, 2025
2b264b2
add proxy fallback
yanchengnv Sep 30, 2025
bfbfe67
fix find sig
yanchengnv Sep 30, 2025
c7e9b96
change signature to interface
yanchengnv Sep 30, 2025
b702fe6
rename app runner to simulator
yanchengnv Sep 30, 2025
e79dd30
handle abort
yanchengnv Sep 30, 2025
50cb1f5
catch ctl-c and abort
yanchengnv Sep 30, 2025
afc0d75
rename to fox
yanchengnv Oct 1, 2025
e2352c6
Merge branch 'NVIDIA:main' into free
yanchengnv Oct 1, 2025
ed751eb
add filter support
yanchengnv Oct 2, 2025
0671623
add func itf check
yanchengnv Oct 3, 2025
68d55ba
added outgoing result filtering
yanchengnv Oct 3, 2025
0768ff2
Merge branch 'NVIDIA:main' into free
yanchengnv Oct 3, 2025
1453c07
fix context
yanchengnv Oct 3, 2025
8f64e09
use logger
yanchengnv Oct 6, 2025
7a66177
support hierarchical
yanchengnv Oct 6, 2025
bc6d121
support hierarchical training
yanchengnv Oct 7, 2025
6b8328e
use fox adaptor
yanchengnv Oct 7, 2025
804e1d8
add all_other_clients
yanchengnv Oct 7, 2025
761161f
support workspace
yanchengnv Oct 9, 2025
b07ca34
support recipe
yanchengnv Oct 9, 2025
38801a8
reorg
yanchengnv Oct 11, 2025
093710e
added pt downloader and example
yanchengnv Oct 13, 2025
f1a08fa
Merge branch 'NVIDIA:main' into free
yanchengnv Oct 13, 2025
84e5b74
add comment
yanchengnv Oct 14, 2025
d746655
support multiple tensor chunks
yanchengnv Oct 14, 2025
9ceb73e
pt example
yanchengnv Oct 17, 2025
2b3c122
rename to fox_init
yanchengnv Oct 17, 2025
6550f66
add cacheed downloader
yanchengnv Oct 20, 2025
9f391ee
download 2 models
yanchengnv Oct 20, 2025
4a28b6b
enhance obj downloader system
yanchengnv Oct 21, 2025
eec0235
add mixed example
yanchengnv Oct 21, 2025
2de9be0
adjust downloader system
yanchengnv Oct 22, 2025
3944c18
add np downloader
yanchengnv Oct 23, 2025
702bb6a
add config example
yanchengnv Oct 24, 2025
56f9a72
use downloader for decomposers
yanchengnv Oct 27, 2025
1365ff7
adjust naming
yanchengnv Oct 29, 2025
3aab25b
fix typo
yanchengnv Oct 31, 2025
16eeb0e
add docstr
yanchengnv Nov 12, 2025
e38fa8a
use thread local for ctx
yanchengnv Nov 13, 2025
336c552
use EZ in examples
yanchengnv Nov 13, 2025
f7ee545
add license text
yanchengnv Nov 13, 2025
b11f338
rename ez to fox
yanchengnv Nov 13, 2025
ed36036
refactor facade
yanchengnv Nov 14, 2025
a8e67da
support fox.init dec
yanchengnv Nov 14, 2025
20e331a
fix examples
yanchengnv Nov 14, 2025
5756adb
use dec for filters
yanchengnv Nov 17, 2025
8b0298c
fix recipes
yanchengnv Nov 18, 2025
24c5ab4
added finalize
yanchengnv Nov 18, 2025
c9f8e80
fix recipes
yanchengnv Nov 19, 2025
2661bc9
support final dec
yanchengnv Nov 19, 2025
676f520
add more filter decs
yanchengnv Nov 19, 2025
8dac4da
refactor group call
yanchengnv Nov 20, 2025
74f6aec
refactor group call
yanchengnv Nov 21, 2025
f348bb8
fix context handling
yanchengnv Nov 21, 2025
c6353b7
support expect_result
yanchengnv Nov 24, 2025
6235b36
refactor downloader
yanchengnv Nov 24, 2025
37a6049
Merge branch 'NVIDIA:main' into free
yanchengnv Nov 24, 2025
7ac733e
refactor
yanchengnv Nov 24, 2025
06165a0
support results from event handlers
yanchengnv Nov 25, 2025
3b30b41
add cyclic-avg recipe
yanchengnv Nov 25, 2025
435ec03
clean up
yanchengnv Nov 25, 2025
dd34313
refactor
yanchengnv Nov 26, 2025
3409864
fix for example
yanchengnv Nov 26, 2025
9bdd49a
refactor
yanchengnv Dec 1, 2025
a9c1675
added TensorReceiver
yanchengnv Dec 2, 2025
d75e327
support explicit target in group calls
yanchengnv Dec 2, 2025
88cb0cf
support target call opt for single call
yanchengnv Dec 3, 2025
912c510
added traffic control
yanchengnv Dec 5, 2025
fe4273d
add licese text
yanchengnv Dec 5, 2025
5cc360b
refactor
yanchengnv Dec 5, 2025
4d6c691
removed unused import
yanchengnv Dec 11, 2025
0df0850
sync with new downloader
yanchengnv Dec 11, 2025
ae425b7
Merge branch 'main' into free
yanchengnv Dec 11, 2025
7bfb48a
removed print
yanchengnv Dec 11, 2025
a490471
Merge branch 'free' of github.com:yanchengnv/NVFlare into free
yanchengnv Dec 11, 2025
c77124d
fix pr comments
yanchengnv Dec 11, 2025
eeb496c
address pr comments
yanchengnv Dec 12, 2025
ff423d3
improve examples
yanchengnv Dec 14, 2025
898e3f4
remove unused imports
yanchengnv Dec 15, 2025
a075e5d
add docstring
yanchengnv Dec 15, 2025
bf84d51
print collab interface in simulator
yanchengnv Dec 15, 2025
ca1c933
address pr comments
yanchengnv Dec 16, 2025
a6bf64c
fix client app None issue
yanchengnv Dec 16, 2025
0326c8a
address pr comments
yanchengnv Dec 16, 2025
62de0af
pr review comments
yanchengnv Dec 16, 2025
4041c94
use condition to manage sending count
yanchengnv Dec 16, 2025
ed1880e
initialize condition with lock
yanchengnv Dec 17, 2025
f507c6e
Merge branch 'main' into free
yanchengnv Dec 17, 2025
ec6db6e
address pr comments
yanchengnv Dec 17, 2025
f8a8aad
address pr comments
yanchengnv Dec 17, 2025
0318e77
address meaningful pr comments
yanchengnv Dec 17, 2025
5ae50ae
improve gcc
yanchengnv Dec 18, 2025
3b2a2c9
fix comments
yanchengnv Dec 18, 2025
4033e0a
Merge branch 'main' into free
yanchengnv Dec 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions nvflare/apis/fl_constant.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ class FLContextKey(object):
EVENT_PROCESSED = "__event_processed__"
CELL_MESSAGE = "__cell_message__"
CLIENT_HIERARCHY = "__client_hierarchy__"
FOX_MODE = "__fox_mode__"


class ProcessType:
Expand Down
6 changes: 6 additions & 0 deletions nvflare/apis/fl_exception.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,9 @@ class NotReadyToEndRun(Exception):
"""Raised when a component is not ready to end run"""

pass


class RunAborted(Exception):
"""Raised when a run is aborted"""

pass
4 changes: 2 additions & 2 deletions nvflare/app_common/workflows/lr/fedavg.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
"""
Federated Averaging for Logistic Regression with Newton-Raphson method
using Numpy
Federated Averaging for Logistic Regression with Newton-Raphson method
using Numpy
"""
from typing import List, Optional

Expand Down
14 changes: 14 additions & 0 deletions nvflare/fox/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from .api.facade import facade as fox
13 changes: 13 additions & 0 deletions nvflare/fox/api/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Loading
Loading