Freigeben über


BrainScript UCI Fast Reader

Warnung

UCIFastReader ist veraltet und wird durch CNTK Textformat-Reader ersetzt. Verwenden Sie CNTK Textformat-Reader für Ihre Netzwerke.


UCIFastReader liest textbasierte UCI-Formatdaten vor, in denen jeder Datensatz eine Zeile mit leertrennenden Gleitkomma- und Bezeichnungswerten ist. Die Bezeichnungsinformationen sind entweder am Anfang oder ende jeder Zeile, wenn Bezeichnungsinformationen angegeben werden. So verwenden Sie den UCIFastReader, den readerTypeUCIFastReader Sie wie in

reader = [
    readerType = "UCIFastReader"
    file = "c:\cntk\data\mnist\mnist_train.txt"
    features = [
        dim = 784
        start = 1
    ]
    labels = [
        dim = 1
        start = 0
        labelDim = 10
        labelMappingFile = "c:\cntk\data\mnist\mnistlabels.txt"
    ]
]

In diesem Beispiel können Sie auch zwei Unterblöcke namens features und labels. Diese Namen werden von den Datenlesern verwendet, um dem Berechnungsknoten in Ihrem Netzwerk und den aus den Dateien geladenen Daten zu entsprechen. Wenn einfache Netzwerk-Generatoren verwendet werden, um Ihr Netzwerk zu erstellen, features und labels sind die Standardnamen der Feature- und Bezeichnungsknoten. Wenn Sie Ihr Netzwerk mithilfe des NDL-Netzwerk-Generators definiert haben, müssen Sie sicherstellen, dass diese Namen den entsprechenden Knoten in Ihrem Netzwerk entsprechen. Der UCIFastReader hat folgende Parameter:

  • file: die Datei, die das Dataset enthält. Dieser Parameter wurde aus den Features und Bezeichnungen von Unterblöcken verschoben, da UCIFastReader die Datei gleich sein muss, und das Verschieben einer Ebene stellt sicher, dass diese Einschränkung erfüllt ist.

  • dim: die Dimension des Eingabewerts. Beachten Sie, dass jede Spalte in der UCI-Datendatei eine Dimension der Eingabedaten darstellt.

  • start: die Startspalte (nullbasiert) der Eingabedaten.

  • labelDim: die Anzahl der möglichen Bezeichnungswerte. Dieser Parameter ist für kategorisierte Bezeichnungen erforderlich, da die Dimension des Bezeichnungsknotens durch diesen Wert bestimmt wird. Beachten Sie, dass der Bezeichnungswert selbst normalerweise in einer Spalte in der UCI-Datendatei angegeben wird.

  • labelMappingFile: Der Pfad zu einer Datei, die verwendet wird, um den Bezeichnungswert einem numerischen Bezeichnungsbezeichner zuzuordnen. Die Datei listet in der Regel alle möglichen Beschriftungswerte pro Zeile auf, die text- oder numerische Werte sein können. Die nullbasierte Zeilennummer ist der Bezeichner, der von CNTK verwendet wird, um diese Bezeichnung zu identifizieren. Es ist wichtig, dass dieselbe Bezeichnungszuordnungsdatei für Schulungen und Auswertungen verwendet wird. Dies kann erfolgen, indem Sie den Parameter "labelMappingFile" nach oben verschieben, sodass sie sowohl von den Schulungs- als auch von Evaluierungsblöcken freigegeben werden kann.

  • customDelimiter: das angepasste Trennzeichen. Standardmäßig werden Leerzeichen als Trennzeichen verwendet. Mit diesem Parameter können Sie zusätzlich zu Leerzeichen ein anderes Trennzeichen wie Komma oder Semikolon verwenden. Beachten Sie jedoch, dass dieser Leser keine leeren Felder behandelt, z. B. zwei Kommas in einer Zeile, mit oder ohne Leerzeichen dazwischen.

  • customDecimalPoint: der angepasste Dezimalpunkt. Standardmäßig wird Punkt als Dezimalkomma verwendet. Mit diesem Parameter können Sie einen anderen Dezimalpunkt verwenden, z. B. solche, die in europäischen Ländern verwendet werden.

  • labelType: gibt an, wie die Beschriftungsspalten interpretiert werden sollen. Standardmäßig ist er auf "Category" festgelegt, was bedeutet, dass eine Zuordnungstabelle aus Werten (kann Zeichenfolge sein) klassen-IDs zugeordnet werden muss, damit Werte in eine 1-heiße Darstellung konvertiert werden. Es kann auf "Regression" festgelegt werden, um anzugeben, dass die Werte direkt ohne Konvertierung oder "None" verwendet werden, um anzugeben, dass keine Bezeichnungen verwendet werden.

Andere Optionen:

  • traceLevel: Eine ganze Zahl, die die Verbosität des Lesers definiert. Derzeit verwendet: 0 (keine Ablaufverfolgung) und 1. Der Standardwert ist 0.
  • prefetch: Ein boolescher Wert ("true" oder "false"), der angibt, ob prefetching aktiviert werden soll. Prefetching bezieht sich auf die Tatsache, dass Daten asynchron in die Hauptverarbeitung gelesen werden. Der Standardwert ist „false“.
  • randomize: Eine Zeichenfolge ("none", "auto") steuert die Reihenfolge, in der Zeilen gelesen werden sollen. Bei "None" werden sie in linearer Reihenfolge gelesen; Bei "auto" werden sie zufällig ausgewählt; TODO kann auch eine ganze Zahl unter bestimmten Einschränkungen sein.
  • minibatchMode: Wenn "teil" angegeben und festgelegt wird, werden Teil-Minibatches akzeptiert; Andernfalls muss die Größe der Schulungsdaten ein Vielfaches der Minibatchgröße sein.