IProgressChannel インターフェイス

定義

進行状況レポート用の一般的なインターフェイス。 進行状況チャネル インターフェイスは、1 つのスレッドからのみ使用されることが予想されます。

サポートされているワークフロー:

  1. を使用してチャネルを作成します StartProgressChannel(String)
  2. 必要な回数 (0 を含む) を呼び出します SetHeader(ProgressHeader, Action<IProgressEntry>) 。 各呼び出しは SetHeader(ProgressHeader, Action<IProgressEntry>) 、前の呼び出しよりも優先されます。
  3. を呼び出 Checkpoint(Nullable<Double>[])してチェックポイント (0 以上) を報告します。
  4. 必要に応じて手順 2 ~ 3 を繰り返します。
  5. チャネルを破棄します。
public interface IProgressChannel : IDisposable, Microsoft.ML.Runtime.IProgressChannelProvider
type IProgressChannel = interface
    interface IProgressChannelProvider
    interface IDisposable
Public Interface IProgressChannel
Implements IDisposable, IProgressChannelProvider
実装

メソッド

Checkpoint(Nullable<Double>[])

"チェックポイント" エントリを送信します。 これらのエントリは、関心がある場合は、進行状況リスナーに配信することが保証されます。 通常、これにはいくつかの中間メトリックが含まれます。このメトリックは、計算の特定の時点 ("チェックポイント") でのみ計算されます。

たとえば、SDCA は損失を計算するたびにチェックポイントを報告したり、LBFGS がイテレーションごとにチェックポイントを報告したりする場合があります。

唯一のパラメーターは、 values次のように解釈されます。

  • 最初の MetricNames.Length 項目 (存在する場合) はメトリックです。
  • 後続の ProgressNames.Length 項目 (存在する場合) は進行状況単位です。
  • 後続の ProgressNames.Length 項目 (存在する場合) は、進行状況の制限です。
  • それ以上の値が残っている場合は、例外がスローされます。
SetHeader(ProgressHeader, Action<IProgressEntry>)

レポート構造を設定します。

  • 進行状況レポートの "ヘッダー" を設定し、報告する進行状況ユニットとメトリックを定義します。
  • 誰かが進行状況を知る必要がある場合は常に呼び出されるスレッド セーフなデリゲートを提供します。

計算が実行されているかどうかに関係なく、複数回 (またはなし) 呼び出 SetHeader(ProgressHeader, Action<IProgressEntry>) してもかまいません。 同期のため、新しいデリゲートが指定された後でも、計算で "古い" fillAction デリゲートの呼び出しを拒否しないようにする必要があります。

StartProgressChannel(String)

という名前 nameの計算の進行状況チャネルを作成します。

(継承元 IProgressChannelProvider)

適用対象