nuget server logo nuget api documents
↑

API Docs / Microsoft.VisualBasic.DataMining.UMAP / SgdEpochTask

SgdEpochTask

Full name Microsoft.VisualBasic.DataMining.UMAP.SgdEpochTask Assembly Microsoft.VisualBasic.DataMining.UMAP Members 1

implements the SGD optimization loop of one epoch in parallel

00 Remarks

The UMAP optimization is a stochastic gradient descent on a shared embedding vector, two different edges may hit the same vertex at the same time. This class applies the Hogwild style parallel optimization (the same as the parallel option of the official python UMAP): the gradient of each edge is applied to the shared embedding vector without any lock.

As a consequence the embedding result is no longer bit-level reproducible between each run, but the convergence of the optimization is not affected at all.

01 Syntax

Microsoft.VisualBasic.DataMining.UMAP.SgdEpochTask

02 Methods

NameOverloadsSummary
.ctor 1

03 Members

method .ctor #
#ctor(Int32, Umap, Int32, Double, Nullable(Of Int32))
Parameters
NameTypeDescription
workLenInt32

the number of the edges of the graph

umapUmap

-

epochInt32

the index of the current epoch

clipValueDouble

the gradient clipping value

workersNullable(Of Int32)

the number of the worker threads