federer
Version:
Experiments in asynchronous federated learning and decentralized learning
31 lines • 1.4 kB
TypeScript
import { Logger } from "winston";
import { Coordinator, CoordinatorOptions, StopCondition, PreprocessResult, IPCServer } from "../../../coordinator";
import { LeafModelOptions } from "./model";
export declare type DatasetName = "shakespeare" | "synthetic";
export interface LeafCoordinatorOptions extends CoordinatorOptions {
/** Name of the dataset to use. */
dataset: DatasetName;
/** Options for the ML model. */
model: CoordinatorOptions["model"];
/** Number of label classes to include in the experiment
* For Shakespeare dataset, this is the number of roles
*/
numberLabelClasses: number;
/**
* Number of roles per client
*
* This value will probably be 1 so each client is reponsible for 1 role. Each role
* has at least 2 lines in FedAvg paper.
*/
numberRolesPerClient: number;
}
export declare class LeafCoordinator extends Coordinator {
protected readonly experimentName: string;
protected readonly options: Readonly<LeafCoordinatorOptions>;
protected readonly modelOptions: LeafModelOptions;
constructor(options: Readonly<LeafCoordinatorOptions>, ipc: IPCServer, logger: Logger, stopCondition?: StopCondition);
protected preprocessData(): Promise<PreprocessResult>;
/** Possibly implement a run name function */
protected getRunName(): string;
}
//# sourceMappingURL=LeafCoordinator.d.ts.map