Comments (5)
This is perhaps best implemented as an optional addition to the simulation mode, which is already supported in Plato and as you correctly pointed out, it should be relatively straightforward. Also, I don't really think one should start from something as sophisticated as playing back a trace -- For almost 100% of the research projects, using a simple random process to characterize client availability is good enough. After all, even if a trace can be replayed, such traces are hardly available from actual real-world environments.
from plato.
It looks like the FedScale git repo contains a raw 24.5 MB trace in binary format for the so-called 'device_info' -- FedScale/dataset/data/device_info/. It should be fairly straightforward to transfer the trace into more readable JSON formats for better parsing.
Using JSON is perhaps a better choice than a proprietary format (such as '[client_id]: [starting status], [transition time (in seconds) t1, t2, ...] e.g., 1: on, [54, 890, 2042, ...]'), since it can be easily parsed using standard off-the-shelf parsers.
Reading from actual traces, however, should still come as a next feature after the use of simple random processes can be implemented, which is much more reproducible and adjustable (in terms of parameter settings) despite the fact that they are synthetic.
from plato.
I see. We are then going to start with random processes in the simulation mode. The reproducibility may be guaranteed by using consistent seeds for any random number generator.
from plato.
Yes, reproducibility is indeed guaranteed with a pre-specified random seed (which is already a configuration parameter).
from plato.
Closed due to low priority.
from plato.
Related Issues (20)
- [RFC] Question about 3-layer FL HOT 1
- [RFC] Question about where to implement attack.
- [BUG] No config.yml file found HOT 1
- non iid data HOT 2
- objective function
- [BUG] A Typo in KNOT Example
- Query about reproducing the result of Port paper? HOT 1
- [BUG]
- [BUG] in HeteroFL, the accuracy of the global model does not change HOT 2
- Issue about FedAsync HOT 3
- Port implementation
- Repeatedly running the example in ./examples are not guaranteed to give the same result every time. HOT 1
- [BUG] `consistent_clients` config not works in `sampler: mixed_label_quantity_noniid` HOT 1
- 攻击代码实现 HOT 1
- FedNova HOT 1
- [BUG] no Report class
- Query on Port
- gradient_leakage_attacks - training
- [BUG]can not find paper for MistNet HOT 1
- AttributeError: 'Config' object has no attribute 'parameters'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plato.