Aracılığıyla paylaş


IProgressChannel Arabirim

Tanım

İlerleme raporlama için ortak bir arabirim. İlerleme kanalı arabiriminin yalnızca bir iş parçacığından kullanılması beklenir.

Desteklenen iş akışı:

  1. aracılığıyla StartProgressChannel(String)kanalı oluşturun.
  2. İstediğiniz kadar çağrı yapın SetHeader(ProgressHeader, Action<IProgressEntry>) (0 dahil). çağrısının SetHeader(ProgressHeader, Action<IProgressEntry>) her biri bir öncekinin yerini alır.
  3. öğesini çağırarak denetim noktalarını (0 veya daha fazla) raporlayın Checkpoint(Nullable<Double>[]).
  4. 2-3 arası adımları gerektiği sıklıkta yineleyin.
  5. Kanalı atın.
public interface IProgressChannel : IDisposable, Microsoft.ML.Runtime.IProgressChannelProvider
type IProgressChannel = interface
    interface IProgressChannelProvider
    interface IDisposable
Public Interface IProgressChannel
Implements IDisposable, IProgressChannelProvider
Uygulamalar

Yöntemler

Checkpoint(Nullable<Double>[])

'Denetim noktası' girdisi gönderin. Bu girişlerin ilgilenilmesi durumunda ilerleme dinleyicisine teslim edilmesi garanti edilir. Genellikle bu, hesaplamanın yalnızca belirli anlarında ('denetim noktaları') hesaplanan bazı ara ölçümleri içerir.

Örneğin, SDCA kaybı her hesaplayınca bir denetim noktası bildirebilir veya LBFGS her yinelemede bir denetim noktası bildirebilir.

Tek parametre olan values, aşağıdaki şekilde yorumlanır:

  • İlk MetricNames.Length öğeleri (varsa) ölçümlerdir.
  • Sonraki ProgressNames.Length öğeleri (varsa) ilerleme birimleridir.
  • Sonraki ProgressNames.Length öğeleri (varsa) ilerleme sınırlarıdır.
  • Daha fazla değer kalırsa, bir özel durum oluşturulur.
SetHeader(ProgressHeader, Action<IProgressEntry>)

Raporlama yapısını ayarlayın:

  • hangi ilerleme birimlerinin ve ölçümlerin raporlanacağı tanımlayarak ilerleme raporlarının 'üst bilgisini' ayarlayın.
  • herkesin ilerleme durumunu bilmesi gerektiğinde çağrılacak iş parçacığı güvenli bir temsilci sağlayın.

Hesaplamanın çalışıp çalışmadığına bakılmaksızın, birden çok kez çağrılabilir SetHeader(ProgressHeader, Action<IProgressEntry>) (veya hiçbiri) kabul edilebilir. Eşitleme nedeniyle, hesaplama yeni bir temsilci sağlansa bile 'eski' fillAction temsilcilere yapılan çağrıları reddetmemelidir.

StartProgressChannel(String)

adlı namebir hesaplama için ilerleme kanalı oluşturun.

(Devralındığı yer: IProgressChannelProvider)

Şunlara uygulanır