Microsoft.ML.Runtime Namespace

Namespace mit Typen, die von der ML.NET Laufzeit benötigt werden.

Klassen

ComponentCatalog

In diesem Katalog werden instanziierbare Komponenten (aka, ladebare Klassen) katalogisiert. Komponenten werden über einen absteigenden Typ von Microsoft.ML.LoadableClassAttributeBase, der die Namen und Signaturtypen identifiziert, unter denen der Komponententyp registriert werden soll. Signaturen sind Stellvertretungstypen, die void zurückgeben und angeben, dass Parametertypen für die Instanziierung von Komponenten. Jede Komponente kann auch ein "Arguments-Objekt" angeben, das zur Instanziierungszeit bereitgestellt werden soll.

ProgressHeader

Dies ist die Kopfzeile des Fortschrittsberichts.

Strukturen

ChannelMessage

Eine Kanalnachricht.

Schnittstellen

IChannel

Ein Standardkommunikationskanal.

IChannelProvider

Ein Kanalanbieter kann neue Kanäle und generische Informationsrohre erstellen.

IComponentFactory

Dies ist eine Tokenschnittstelle, die alle Komponentenfabriken implementieren müssen.

IComponentFactory<TComponent>

Eine Schnittstelle zum Erstellen einer Komponente ohne zusätzliche Parameter (außer einem IHostEnvironment).

IComponentFactory<TArg1,TComponent>

Eine Schnittstelle zum Erstellen einer Komponente, wenn ein zusätzlicher Parameter (und ein) IHostEnvironmentverwendet wird.

IComponentFactory<TArg1,TArg2,TComponent>

Eine Schnittstelle zum Erstellen einer Komponente, wenn wir zwei zusätzliche Parameter (und eine IHostEnvironment) verwenden.

IComponentFactory<TArg1,TArg2,TArg3,TComponent>

Eine Schnittstelle zum Erstellen einer Komponente, wenn wir drei zusätzliche Parameter (und eine IHostEnvironment) verwenden.

IExceptionContext

Schnittstelle für "Verarbeitung"-Ausnahmen, bevor sie ausgelöst werden. Dies kann verwendet werden, um der Ausnahme Kontext hinzuzufügen, die Ausnahme in eine andere umzuschließen, die Ausnahme vollständig zu ersetzen usw. Es ist nicht zulässig, null von Prozess zurückzugeben (es sei denn, null wurde übergeben, was wirklich nicht geschehen sollte).

IHost

Ein Host ist mit einer Komponente gekoppelt und stellt Eine Zufallszahlengenerierung und Parallelitätsleitfaden bereit. Beachten Sie, dass auf die Zufallszahlengenerierung, z. B. die Hostumgebungsmethoden, nur über den Hauptthread für die Komponente zugegriffen werden sollte.

IHostEnvironment

Die Hostumgebungsschnittstelle erstellt Hosts für Komponenten. Beachten Sie, dass die Methoden dieser Schnittstelle aus dem Hauptthread für die Umgebung aufgerufen werden sollen. Um eine Umgebung zum Dienst eines anderen Threads abzurufen, rufen Sie Fork auf, und übergeben Sie das Rückgabeergebnis an diesen Thread.

IPipe<TMessage>

Eine generische Informationspipeline. Beachten Sie, dass Rohre einwegbar sind. Im Allgemeinen sollte "Done" aufgerufen werden, bevor ein normales Herunterfahren des Rohrs im Gegensatz zu einer abgebrochenen Fertigstellung signalisiert wird.

IProgressChannel

Eine allgemeine Schnittstelle für die Statusberichterstattung. Es wird erwartet, dass die Statuskanalschnittstelle nur aus einem Thread verwendet wird.

Unterstützter Workflow:

  1. Erstellen Sie den Kanal über StartProgressChannel(String).
  2. Rufen Sie SetHeader(ProgressHeader, Action<IProgressEntry>) so oft wie gewünscht an (einschließlich 0). Jeder Aufruf SetHeader(ProgressHeader, Action<IProgressEntry>) ersetzt die vorherige.
  3. Melden Sie Prüfpunkte (0 oder mehr) durch Aufrufen Checkpoint(Nullable<Double>[]).
  4. Wiederholen Sie die Schritte 2-3 so oft wie erforderlich.
  5. Entsorgen Sie den Kanal.
IProgressChannelProvider

Dies ist eine Factoryschnittstelle für IProgressChannel. Beide IHostEnvironment und IProgressChannel implementieren diese Schnittstelle, um geschachtelte Fortschrittsreporter zu ermöglichen.

ÜBERPRÜFEN: IChannelProvider Implementieren Sie dies anstelle der Umgebung?

IProgressEntry

Ein Metrik-/Statushalterelement.

Enumerationen

ChannelMessageKind

Die Arten von Standardkanalnachrichten. Hinweis: Diese Werte sollten niemals geändert werden. Wir können neue Typen hinzufügen, aber diese Werte nicht ändern. Andere Codebasisen, einschließlich systemeigener Code für andere Projekte, hängen von diesen Werten ab.

MessageSensitivity

Ein Flag, das an eine Nachricht oder Ausnahme angefügt werden kann, um anzugeben, dass es eine bestimmte Klasse vertraulicher Daten aufweist. Standardmäßig sollten Nachrichten als unbekannte Vertraulichkeit angegeben werden, was heißt, dass jede Vertraulichkeitskennzeichnung aktiviert ist, die dem entspricht Unknown. Nachrichten, die völlig sicher sind, sollten als Nonegekennzeichnet werden. Wenn man jedoch Daten aus einer Datei ausdruckt (z. B. kann dies beim Ausdruck von Analysefehlern geschehen), sollte er in diesem Fall mit UserDatagekennzeichnet werden.