BrainScript UCI Fast Reader
Waarschuwing
UCIFastReader is afgeschaft en wordt vervangen door CNTK Tekstopmaaklezer. Gebruik CNTK Tekstopmaaklezer voor uw netwerken.
UCIFastReader leest tekstgebaseerde UCI-indelingsgegevens, waarin elke gegevensrecord een regel met door spaties gescheiden drijvendekommafuncties en labelwaarden is. De labelgegevens bevinden zich aan het begin of het einde van elke regel, als er labelinformatie wordt opgegeven. Als u de UCIFastReader wilt gebruiken, stelt u de readerType
in op UCIFastReader
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 dit voorbeeld kunt u ook twee subblokken met de naam en features
labels
. Deze namen worden gebruikt door de gegevenslezers om het rekenknooppunt in uw netwerk te vinden en de gegevens die uit de bestanden zijn geladen. Als eenvoudige netwerkbouwers worden gebruikt om uw netwerk features
te maken en labels
de standaardnamen van de functie- en labelknooppunten zijn, respectievelijk. Als u uw netwerk hebt gedefinieerd met behulp van de NDL-netwerkbouwer, moet u ervoor zorgen dat deze namen overeenkomen met de bijbehorende knooppunten in uw netwerk. De UCIFastReader heeft de volgende parameters:
file
: het bestand dat de gegevensset bevat. Deze parameter is omhoog verplaatst van de subblokken van de functies en labels, omdat UCIFastReader vereist dat het bestand hetzelfde is, en door een niveau te verplaatsen, zorgt u ervoor dat aan deze beperking wordt voldaan.dim
: de dimensie van de invoerwaarde. Houd er rekening mee dat elke kolom in het UCI-gegevensbestand één dimensie van de invoergegevens vertegenwoordigt.start
: de beginkolom (nul) van de invoergegevens.labelDim
: het aantal mogelijke labelwaarden. Deze parameter is vereist voor categorische labels omdat de dimensie van het labelknooppunt wordt bepaald door deze waarde. Houd er rekening mee dat de labelwaarde zelf doorgaans wordt opgegeven in één kolom in het UCI-gegevensbestand.labelMappingFile
: het pad naar een bestand dat wordt gebruikt om van de labelwaarde toe te wijzen aan een numerieke label-id. Het bestand bevat doorgaans alle mogelijke labelwaarden, één per regel, die tekst of numeriek kan zijn. Het regelnummer op basis van nul is de id die door CNTK wordt gebruikt om dat label te identificeren. Het is belangrijk dat hetzelfde labeltoewijzingsbestand wordt gebruikt voor training en evaluatie. U kunt dit doen door de parameter labelMappingFile omhoog te verplaatsen, zodat deze kan worden gedeeld door zowel de trainings- als evaluatieblokken.customDelimiter
: het aangepaste scheidingsteken. Spaties worden standaard gebruikt als scheidingsteken. Met deze parameter kunt u een ander scheidingsteken gebruiken, zoals komma's of puntkomma's, naast spaties. Opmerking: deze lezer verwerkt geen lege velden, bijvoorbeeld twee komma's in een rij, met of zonder spaties ertussen.customDecimalPoint
: het aangepaste decimaalteken. Standaard wordt punt gebruikt als decimaalteken. Met deze parameter kunt u ervoor kiezen om een ander decimaalteken te gebruiken, zoals de decimalen die in Europese landen worden gebruikt.labelType
: om aan te geven hoe de labelkolommen moeten worden geïnterpreteerd. Standaard is deze ingesteld op Categorie, wat betekent dat er een toewijzingstabel moet worden toegewezen van waarden (kan tekenreeks zijn) naar klasse-id's, zodat waarden worden geconverteerd naar 1-dynamische weergave. Deze kan worden ingesteld op 'Regressie' om aan te geven dat de waarden rechtstreeks worden gebruikt zonder conversie of 'Geen' om aan te geven dat er geen labels worden gebruikt.
Andere opties:
traceLevel
: Een geheel getal dat de uitgebreidheid van de lezer definieert. Momenteel gebruikt: 0 (geen tracering) en 1. De standaardwaarde is 0.prefetch
: Een Booleaanse waarde ('true' of 'false') die aangeeft of prefetching moet worden ingeschakeld. Prefetching verwijst naar het feit dat gegevens asynchroon worden gelezen naar de hoofdverwerking. De standaardinstelling is false.randomize
: Een tekenreeks ('none', 'auto') waarmee de volgorde wordt beheerd waarin regels moeten worden gelezen. In het geval van 'Geen' worden ze in lineaire volgorde gelezen; In het geval van 'auto' worden ze willekeurig gekozen; TODO kan ook een geheel getal zijn onder bepaalde beperkingen.minibatchMode
: Indien gegeven en ingesteld op 'gedeeltelijk', worden gedeeltelijke minibatches geaccepteerd; Anders moet de grootte van de trainingsgegevens een veelvoud van de minibatchgrootte zijn.