다음을 통해 공유


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

'검사점' 항목을 제출합니다. 이러한 항목은 관심 있는 경우 진행률 수신기에 전달되도록 보장됩니다. 일반적으로 계산의 특정 순간('검사점')에만 계산되는 일부 중간 메트릭이 포함됩니다.

예를 들어 SDCA는 손실을 계산할 때마다 검사점을 보고하거나 LBFGS가 반복할 때마다 검사점을 보고할 수 있습니다.

유일한 매개 변수는 values다음과 같은 방식으로 해석됩니다.

  • 첫 번째 MetricNames.Length 항목(있는 경우)은 메트릭입니다.
  • 후속 ProgressNames.Length 항목(있는 경우)은 진행률 단위입니다.
  • 후속 ProgressNames.Length 항목(있는 경우)은 진행률 제한입니다.
  • 값이 더 남아 있으면 예외가 throw됩니다.
SetHeader(ProgressHeader, Action<IProgressEntry>)

보고 구조를 설정합니다.

  • 보고할 진행률 단위 및 메트릭을 정의하여 진행률 보고서의 '헤더'를 설정합니다.
  • 진행 상황을 알아야 할 때마다 호출할 스레드로부터 안전한 대리자를 제공합니다.

계산이 실행 중인지 여부에 관계없이 여러 번(또는 없음) 호출 SetHeader(ProgressHeader, Action<IProgressEntry>) 할 수 있습니다. 동기화로 인해 계산은 새 대리자가 제공된 후에도 '이전' fillAction 대리자 호출을 거부해서는 안 됩니다.

StartProgressChannel(String)

라는 계산에 대한 진행률 채널을 만듭니다 name.

(다음에서 상속됨 IProgressChannelProvider)

적용 대상