Microsoft.ML.Runtime Namespace

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

Klassen

Name Beschreibung
ComponentCatalog

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

ProgressHeader

Dies ist der "Header" des Statusberichts.

Strukturen

Name Beschreibung
ChannelMessage

Eine Kanalnachricht.

Schnittstellen

Name Beschreibung
IChannel

Ein Standardkommunikationskanal.

IChannelProvider

Ein Kanalanbieter kann neue Kanäle und generische Informationspipes 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 wir einen zusätzlichen Parameter (und ein IHostEnvironment) verwenden.

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 ein IHostEnvironment) verwenden.

IExceptionContext

Schnittstelle für Ausnahmen zur "Verarbeitung", 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 Process zurückzugeben (es sei denn, null wurde übergeben, was wirklich nicht geschehen sollte).

IHost

Ein Host ist mit einer Komponente gekoppelt und bietet Anleitungen zur Zufallszahlengenerierung und Parallelität. Beachten Sie, dass auf die Zufallszahlengenerierung, wie die Methoden der Hostumgebung, 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 sollten. Rufen Sie Fork auf, um eine Umgebung für einen anderen Thread zu verwenden, und übergeben Sie das Rückgabeergebnis an diesen Thread.

IPipe<TMessage>

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

IProgressChannel

Eine gemeinsame Schnittstelle für die Fortschrittsberichterstattung. 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 bis 3 so oft wie nötig.
  5. Verwerfen Sie den Kanal.
IProgressChannelProvider

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

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

IProgressEntry

Ein Metrik-/Fortschrittshalterelement.

Enumerationen

Name Beschreibung
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 Codebasen, einschließlich systemeigenem Code für andere Projekte, hängen von diesen Werten ab.

MessageSensitivity

Ein Kennzeichen, das an eine Nachricht oder Ausnahme angefügt werden kann, um anzugeben, dass sie eine bestimmte Klasse vertraulicher Daten enthält. Standardmäßig sollten Nachrichten als unbekannte Vertraulichkeit angegeben werden, was heißt, dass jede Vertraulichkeitskennzeichnung aktiviert ist, entsprechend Unknown. Nachrichten, die absolut sicher sind, sollten als Nonegekennzeichnet werden. Wenn beispielsweise daten aus einer Datei gedruckt werden (z. B. kann dies beim Ausdruck von Analysefehlern geschehen), sollte sie in diesem Fall mit UserDatagekennzeichnet werden.