Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Avviso
UCIFastReader è deprecato e viene sostituito da CNTK Lettore formato testo. Usare CNTK Lettore formato testo per le reti.
UCIFastReader legge i dati di formato UCI basati su testo, in cui ogni record di dati è una riga di valori a virgola mobile e a virgola mobile delimitata da spazio. Le informazioni sull'etichetta sono all'inizio o alla fine di ogni riga, se vengono fornite informazioni sull'etichetta. Per usare UCIFastReader impostato su readerTypeUCIFastReader come 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 questo esempio è anche possibile notare due sotto-blocchi denominati features e labels. Questi nomi vengono usati dai lettori di dati per corrispondere al nodo di calcolo nella rete e ai dati caricati dai file. Se i generatori di rete semplici vengono usati per creare la rete features e labels sono rispettivamente i nomi standard dei nodi di funzionalità e etichetta. Se la rete è stata definita usando il generatore di rete NDL, è necessario assicurarsi che questi nomi corrispondano ai nodi corrispondenti nella rete. UCIFastReader include i parametri seguenti:
file: file contenente il set di dati. Questo parametro è stato spostato dai blocchi secondari delle funzionalità e delle etichette, perché UCIFastReader richiede che il file sia lo stesso e lo spostamento su un livello assicura che questa restrizione venga soddisfatta.dim: dimensione del valore di input. Si noti che ogni colonna nel file di dati UCI rappresenta una dimensione dei dati di input.start: colonna iniziale (in base zero) dei dati di input.labelDim: numero di possibili valori di etichetta. Questo parametro è necessario per le etichette categoriche poiché la dimensione del nodo etichetta verrà determinata da questo valore. Si noti che il valore dell'etichetta stesso viene in genere specificato in una colonna nel file di dati UCI.labelMappingFile: percorso di un file usato per eseguire il mapping dal valore dell'etichetta a un identificatore di etichetta numerica. Il file elenca in genere tutti i valori di etichetta possibili, uno per riga, che potrebbe essere testo o numerico. Il numero di riga in base zero è l'identificatore che verrà usato da CNTK per identificare tale etichetta. È importante usare lo stesso file di mapping delle etichette per il training e la valutazione. Questa operazione può essere eseguita spostando il parametro labelMappingFile in modo che possa essere condiviso sia dai blocchi di training che di valutazione.customDelimiter: delimitatore personalizzato. Per impostazione predefinita, gli spazi vengono usati come delimitatore. Con questo parametro è possibile scegliere di usare un altro delimitatore, ad esempio virgola o punto e virgola oltre agli spazi. Si noti tuttavia che questo lettore non gestisce campi vuoti, ad esempio due virgole in una riga, con o senza spazi vuoti tra.customDecimalPoint: il punto decimale personalizzato. Per impostazione predefinita, il punto viene usato come punto decimale. Con questo parametro è possibile scegliere di usare un altro punto decimale, ad esempio quelli usati nei paesi europei.labelType: per indicare come devono essere interpretate le colonne dell'etichetta. Per impostazione predefinita, è impostata su "Category" che significa che è necessario che una tabella di mapping venga mappata da valori (può essere stringa) agli ID classe in modo che i valori vengano convertiti in rappresentazione a 1 hot. Può essere impostato su "Regressione" per indicare che i valori vengono usati direttamente senza alcuna conversione o "Nessuno" per indicare che non vengono usate etichette.
Altre opzioni:
traceLevel: intero che definisce la verbosità del lettore. Attualmente usato: 0 (nessuna traccia) e 1. Il valore predefinito è 0.prefetch: valore booleano ("true" o "false") che indica se è necessario abilitare il prefeting. Il prefetching fa riferimento al fatto che i dati vengono letti in modo asincrono all'elaborazione principale. Il valore predefinito è false.randomize: stringa ("nessuno", "auto") che controlla l'ordine in cui devono essere lette le righe. Nel caso di "Nessuno" vengono letti in ordine lineare; Nel caso di "auto" vengono selezionati in modo casuale; TODO può anche essere un intero in determinati vincoli.minibatchMode: se specificato e impostato su "parziale", vengono accettate minibatches parziali; In caso contrario, le dimensioni dei dati di training devono essere un multiplo delle dimensioni minibatch.