共用方式為


IProgressChannel 介面

定義

進度報告的常見介面。 預期進度通道介面只能從一個執行緒使用。

支援的工作流程:

  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>[])

提交 'checkpoint' 專案。 如果有興趣,則保證這些專案會傳遞至進度接聽程式。 一般而言,這包含一些中繼計量,這些計量只會在特定時間計算 ('checkpoints') 計算。

例如,SDCA 可能會在每次計算遺失時報告檢查點,或 LBFGS 可能會報告每次反覆運算的檢查點。

唯一的參數 values 會以下列方式解譯:

  • 如果存在,則第一個 MetricNames.Length 專案是計量。
  • 如果存在,則後續的 ProgressNames.Length 專案是進度單位。
  • 如果存在,則後續的 ProgressNames.Length 專案是進度限制。
  • 如果還保留任何值,則會擲回例外狀況。
SetHeader(ProgressHeader, Action<IProgressEntry>)

設定報告結構:

  • 設定進度報告的 'header',定義要報告的進度單位和計量。
  • 提供安全線程委派,每當任何人需要知道進度時叫用。

不論計算是否正在執行,都可接受 SetHeader(ProgressHeader, Action<IProgressEntry>) 多次呼叫 (或無) 。 由於同步處理,即使提供新的委派,計算也不應該拒絕對 'old' fillAction 委派的呼叫。

StartProgressChannel(String)

為名為 name 的計算建立進度通道。

(繼承來源 IProgressChannelProvider)

適用於