Microsoft.ML.Runtime Przestrzeń nazw

Przestrzeń nazw zawierająca typy wymagane przez środowisko uruchomieniowe ML.NET.

Klasy

Nazwa Opis
ComponentCatalog

Te wykazy tworzy wystąpienia składników (aka, klasy ładowalne). Składniki są rejestrowane za pośrednictwem elementu potomnego Microsoft.ML.LoadableClassAttributeBaseklasy , identyfikując nazwy i typy podpisów, w których należy zarejestrować typ składnika. Podpisy to typy delegatów, które zwracają wartość void i określają typy parametrów dla wystąpienia składnika. Każdy składnik może również określać "obiekt argumentów", który powinien być udostępniany w czasie tworzenia wystąpienia.

ProgressHeader

Jest to "nagłówek" raportu postępu.

Struktury

Nazwa Opis
ChannelMessage

Komunikat kanału.

Interfejsy

Nazwa Opis
IChannel

Standardowy kanał komunikacyjny.

IChannelProvider

Dostawca kanału może tworzyć nowe kanały i ogólne potoki informacji.

IComponentFactory

Jest to interfejs tokenu, który musi implementować wszystkie fabryki składników.

IComponentFactory<TComponent>

Interfejs do tworzenia składnika bez dodatkowych parametrów (innych niż IHostEnvironment).

IComponentFactory<TArg1,TComponent>

Interfejs do tworzenia składnika, gdy bierzemy jeden dodatkowy parametr (i ).IHostEnvironment

IComponentFactory<TArg1,TArg2,TComponent>

Interfejs do tworzenia składnika, gdy bierzemy dwa dodatkowe parametry (i IHostEnvironment).

IComponentFactory<TArg1,TArg2,TArg3,TComponent>

Interfejs do tworzenia składnika, gdy bierzemy trzy dodatkowe parametry (i ).IHostEnvironment

IExceptionContext

Interfejs dla wyjątków "przetwarzania" przed ich zgłoszeniem. Może to służyć do dodawania kontekstu do wyjątku, zawijania wyjątku w innym, całkowitego zastąpienia wyjątku itp. Nie jest legalne zwracanie wartości null z procesu (chyba że przekazano wartość null, co naprawdę nie powinno się zdarzyć).

IHost

Host jest połączony ze składnikiem i zapewnia losowe generowanie liczb i wskazówki dotyczące współbieżności. Należy pamiętać, że do generowania liczb losowych, takich jak metody środowiska hosta, należy uzyskać dostęp tylko z głównego wątku dla składnika.

IHostEnvironment

Interfejs środowiska hosta tworzy hosty dla składników. Należy pamiętać, że metody tego interfejsu powinny być wywoływane z głównego wątku dla środowiska. Aby uzyskać środowisko do obsługi innego wątku, wywołaj rozwidlenie i przekaż wynik powrotny do tego wątku.

IPipe<TMessage>

Ogólny potok informacyjny. Należy pamiętać, że potoki są jednorazowe. Ogólnie rzecz biorąc, gotowe należy wywołać przed odsyłanie sygnału normalnego zamknięcia rury, w przeciwieństwie do przerwanego zakończenia.

IProgressChannel

Wspólny interfejs raportowania postępu. Oczekuje się, że interfejs kanału postępu jest używany tylko z jednego wątku.

Obsługiwany przepływ pracy:

  1. Utwórz kanał za pomocą polecenia StartProgressChannel(String).
  2. Wywołaj SetHeader(ProgressHeader, Action<IProgressEntry>) dowolną liczbę razy (w tym 0). Każde wywołanie SetHeader(ProgressHeader, Action<IProgressEntry>) zastępuje poprzednie.
  3. Punkty kontrolne raportu (co najmniej 0) przez wywołanie metody Checkpoint(Nullable<Double>[]).
  4. Powtórz kroki 2–3 tak często, jak to konieczne.
  5. Usuwanie kanału.
IProgressChannelProvider

Jest to interfejs fabryki dla programu IProgressChannel. Zarówno, IHostEnvironment jak i IProgressChannel zaimplementuj ten interfejs, aby umożliwić zagnieżdżonym reporterom postępu.

RECENZJA: czy zaimplementować IChannelProvider to, zamiast środowiska?

IProgressEntry

Element uchwytu metryki/postępu.

Wyliczenia

Nazwa Opis
ChannelMessageKind

Rodzaje standardowych komunikatów kanału. Uwaga: te wartości nigdy nie powinny być zmieniane. Możemy dodać nowe rodzaje, ale nie zmieniać tych wartości. Inne bazy kodu, w tym kod natywny dla innych projektów, zależą od tych wartości.

MessageSensitivity

Flaga, która może być dołączona do komunikatu lub wyjątku wskazująca, że ma pewną klasę poufnych danych. Domyślnie komunikaty powinny być określane jako komunikaty o nieznanej poufności, co oznacza, że każda flaga poufności jest włączona, co odpowiada Unknown. Komunikaty, które są całkowicie bezpieczne, powinny być oznaczone jako None. Jeśli jednak, powiedzmy, jeden wyświetla dane z pliku (na przykład można to zrobić podczas wyrażania błędów analizy), powinien zostać oflagowany w tym przypadku za pomocą UserDatapolecenia .