UNPKG

federer

Version:

Experiments in asynchronous federated learning and decentralized learning

30 lines 1.51 kB
import { ShardFn } from "./PreprocessPipeline"; /** * Split a dataset into shards, where each shard holds a different label. * * @param numShards Number of shards to split a dataset into * @returns A function that takes a {@link DataSubset}, and returns a list of * shards, where each shard holds a different label. */ export declare function shardByLabel(numShards: number): ShardFn; /** * Splits a dataset into shards, by sorting the dataset by label, splitting into * `numberBatches` batches, and then combining `numberBatchesPerShard` batches * per shard. * * @param numberLabelClasses Number of different labels in the dataset * @param numberBatches Number of batches to produce * @param numberBatchesPerShard Number of batches to place in a shard * @returns A function that takes a {@link DataSubset}, and returns a list of * shards, where each shard is as described above. */ export declare function shardIntoSortedLabelBatches(numberLabelClasses: number, numberBatches: number, numberBatchesPerShard: number): ShardFn; export declare function shardIntoSkedwedBatches(numberLabelClasses: number, numberShards: number, skewFactorS: number): ShardFn; /** * Combines sortedLables and skewed functions to create unbalanced * shards with lowerbound on samples per shard. * * @returns a shard function */ export declare function shardIntoUnbalancedBatchesPerBatch(sortedLabelBatches: ShardFn, skewedBatches: ShardFn, sortedLabelSplit: number): ShardFn; //# sourceMappingURL=shard.d.ts.map