federer
Version:
Experiments in asynchronous federated learning and decentralized learning
28 lines • 1.25 kB
TypeScript
/// <reference types="node" />
import * as http from "http";
import * as https from "https";
import * as io from "socket.io";
import { Logger } from "winston";
import { FedCRDTServerStartOptions, UploadMessage, Weights } from "../../common";
import { SemiSyncFLServer } from "./SemiSyncFLServer";
export declare class FedCRDTServer extends SemiSyncFLServer<FedCRDTServerStartOptions> {
protected serverName: string;
protected expectDeltaUpdates: boolean;
private shape;
private partialAverages;
constructor(server: http.Server | https.Server, initialWeights: Weights, options: FedCRDTServerStartOptions, logger: Logger);
protected endRound(): void;
protected getGlobalWeights(): Weights;
/** Incorporates an upload message into the state. */
protected updateRoundState(socket: io.Socket, message: UploadMessage): void;
/**
* Computes the factor used to weigh contributions by the amount of data that
* they represent.
*/
private weightAmountData;
/** Computes the factor used to weigh contributions by their age. */
private weightAge;
/** Get the partial average that we are maintaining for a given round. */
private getPartialAverage;
}
//# sourceMappingURL=FedCRDT.d.ts.map