IProgressChannel インターフェイス

定義

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

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

  1. StartProgressChannel(String)を使用してチャネルを作成します。
  2. SetHeader(ProgressHeader, Action<IProgressEntry>)必要な回数 (0 を含む) を呼び出します。 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)

適用対象