TextLoaderSaverCatalog.CreateTextLoader Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
CreateTextLoader(DataOperationsCatalog, TextLoader+Options, IMultiStreamSource) |
Metin yükleyicisi TextLoaderoluşturun. |
CreateTextLoader(DataOperationsCatalog, TextLoader+Column[], Char, Boolean, IMultiStreamSource, Boolean, Boolean, Boolean) |
Metin yükleyicisi TextLoaderoluşturun. |
CreateTextLoader<TInput>(DataOperationsCatalog, TextLoader+Options, IMultiStreamSource) |
Veri modeli türünden veri kümesi şemasını çıkararak bir metin yükleyicisi TextLoader oluşturun. |
CreateTextLoader<TInput>(DataOperationsCatalog, Char, Boolean, IMultiStreamSource, Boolean, Boolean, Boolean) |
Veri modeli türünden veri kümesi şemasını çıkararak bir metin yükleyicisi TextLoader oluşturun. |
CreateTextLoader(DataOperationsCatalog, TextLoader+Options, IMultiStreamSource)
Metin yükleyicisi TextLoaderoluşturun.
public static Microsoft.ML.Data.TextLoader CreateTextLoader (this Microsoft.ML.DataOperationsCatalog catalog, Microsoft.ML.Data.TextLoader.Options options, Microsoft.ML.Data.IMultiStreamSource dataSample = default);
static member CreateTextLoader : Microsoft.ML.DataOperationsCatalog * Microsoft.ML.Data.TextLoader.Options * Microsoft.ML.Data.IMultiStreamSource -> Microsoft.ML.Data.TextLoader
<Extension()>
Public Function CreateTextLoader (catalog As DataOperationsCatalog, options As TextLoader.Options, Optional dataSample As IMultiStreamSource = Nothing) As TextLoader
Parametreler
- catalog
- DataOperationsCatalog
Katalog DataOperationsCatalog .
- options
- TextLoader.Options
Yükleme işleminin ayarlarını tanımlar.
- dataSample
- IMultiStreamSource
Veri örneğinin isteğe bağlı konumu. Örnek, varsa yuva adı ek açıklamalarını ve ayrıca maksimum dizinle TextLoader.Rangenull
tanımlanan yuva Columns sayısını çıkarsamak için kullanılabilir.
Örnek ML.NET SaveAsText(DataOperationsCatalog, IDataView, Stream, Char, Boolean, Boolean, Boolean, Boolean)ile kaydedildiyse, belirtilmemiş olsa Columns bile yükleyicinin okuyabileceği şema bilgilerini üst bilgisinde de içerir.
Dosyada tanımlanan şemayı kullanmak için, diğer TextLoader.Options tüm ruhlular varsayılan değerleriyle bırakılır.
Döndürülenler
Şunlara uygulanır
CreateTextLoader(DataOperationsCatalog, TextLoader+Column[], Char, Boolean, IMultiStreamSource, Boolean, Boolean, Boolean)
Metin yükleyicisi TextLoaderoluşturun.
public static Microsoft.ML.Data.TextLoader CreateTextLoader (this Microsoft.ML.DataOperationsCatalog catalog, Microsoft.ML.Data.TextLoader.Column[] columns, char separatorChar = '\t', bool hasHeader = false, Microsoft.ML.Data.IMultiStreamSource dataSample = default, bool allowQuoting = false, bool trimWhitespace = false, bool allowSparse = false);
static member CreateTextLoader : Microsoft.ML.DataOperationsCatalog * Microsoft.ML.Data.TextLoader.Column[] * char * bool * Microsoft.ML.Data.IMultiStreamSource * bool * bool * bool -> Microsoft.ML.Data.TextLoader
<Extension()>
Public Function CreateTextLoader (catalog As DataOperationsCatalog, columns As TextLoader.Column(), Optional separatorChar As Char = '\t', Optional hasHeader As Boolean = false, Optional dataSample As IMultiStreamSource = Nothing, Optional allowQuoting As Boolean = false, Optional trimWhitespace As Boolean = false, Optional allowSparse As Boolean = false) As TextLoader
Parametreler
- catalog
- DataOperationsCatalog
Katalog DataOperationsCatalog .
- columns
- TextLoader.Column[]
Şemayı tanımlayan sütun TextLoader.Column dizisi.
- separatorChar
- Char
Bir satırdaki veri noktaları arasında ayırıcı olarak kullanılan karakter. Varsayılan olarak sekme karakteri ayırıcı olarak kullanılır.
- hasHeader
- Boolean
Dosyanın özellik adlarıyla bir üst bilgisine sahip olup olmadığı.
sağlandığında, true
içindeki ilk satırın özellik adları için kullanılacağını ve çağrıldığında Load(IMultiStreamSource) ilk satırın atlandığını gösterir. Sağlanmadığında , true
yükleyici çağrıldığında Load(IMultiStreamSource) ilk satırı atlamalıdır, ancak sütunların yuva adları ek açıklamaları olmaz. Bunun nedeni, çıktı şemasının yükleyici oluşturulduğunda yapılmasıdır, çağrıldığında yapılmaz Load(IMultiStreamSource) .
- dataSample
- IMultiStreamSource
Veri örneğinin isteğe bağlı konumu. Örnek, varsa yuva adı ek açıklamalarını ve ayrıca maksimum dizinle TextLoader.Rangenull
tanımlanan bir sütundaki yuva sayısını çıkarsamak için kullanılabilir.
Örnek ML.NET'in SaveAsText(DataOperationsCatalog, IDataView, Stream, Char, Boolean, Boolean, Boolean, Boolean)bilgileriyle kaydedildiyse, yükleyicinin olsa columns
null
bile okuyabileceği şema bilgilerini üst bilgisinde de içerir.
Dosyada tanımlanan şemayı kullanmak için, diğer tüm bağımsız değişkenler varsayılan değerleriyle bırakılır.
- allowQuoting
- Boolean
Girişin çift tırnaklı değerler içerip içermeyebileceği. Bu parametre, bir giriş değerindeki ayırıcı karakterleri gerçek ayırıcılardan ayırmak için kullanılır. Çift tırnak içindeki ayırıcılar giriş değerinin bir parçası olarak kabul edildiğinde true
. Tüm false
ayırıcılar, tırnak içindekiler bile yeni bir sütunu sınırlandırma olarak kabul edilir.
- trimWhitespace
- Boolean
Satırlardan sondaki boşluğu kaldırın.
- allowSparse
- Boolean
Girişin seyrek gösterimler içerip içermeyebileceği. Örneğin, "5 2:6 4:3" içeren bir satır, 5 sütun olduğu ve sıfır olmayan tek sütunun sırasıyla 6 ve 3 değerlerine sahip 2 ve 4 sütunları olduğu anlamına gelir. Sütun dizinleri sıfır tabanlıdır, bu nedenle 2 ve 4 sütunları 3. ve 5. sütunları temsil eder. Bir sütunun yoğun değerleri ve ardından bu şekilde temsil edilen seyrek değerler de olabilir. Örneğin, "1 2 5 2:6 4:3" içeren bir satır, 1 ve 2 değerlerine sahip iki yoğun sütunu ve ardından 0, 0, 6, 0 ve 3 değerleriyle seyrek temsil edilen 5 sütunu temsil eder. Seyrek sütunların dizinleri, 0 üçüncü sütunu temsil etse de 0'dan başlar.
Döndürülenler
Örnekler
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic.DataOperations
{
public static class LoadingText
{
// This examples shows all the ways to load data with TextLoader.
public static void Example()
{
// Create 5 data files to illustrate different loading methods.
var dataFiles = new List<string>();
var random = new Random(1);
var dataDirectoryName = "DataDir";
Directory.CreateDirectory(dataDirectoryName);
for (int i = 0; i < 5; i++)
{
var fileName = Path.Combine(dataDirectoryName, $"Data_{i}.csv");
dataFiles.Add(fileName);
using (var fs = File.CreateText(fileName))
{
// Write without header with 10 random columns, forcing
// approximately 80% of values to be 0.
for (int line = 0; line < 10; line++)
{
var sb = new StringBuilder();
for (int pos = 0; pos < 10; pos++)
{
var value = random.NextDouble();
sb.Append((value < 0.8 ? 0 : value).ToString() + '\t');
}
fs.WriteLine(sb.ToString(0, sb.Length - 1));
}
}
}
// Create a TextLoader.
var mlContext = new MLContext();
var loader = mlContext.Data.CreateTextLoader(
columns: new[]
{
new TextLoader.Column("Features", DataKind.Single, 0, 9)
},
hasHeader: false
);
// Load a single file from path.
var singleFileData = loader.Load(dataFiles[0]);
PrintRowCount(singleFileData);
// Expected Output:
// 10
// Load all 5 files from path.
var multipleFilesData = loader.Load(dataFiles.ToArray());
PrintRowCount(multipleFilesData);
// Expected Output:
// 50
// Load all files using path wildcard.
var multipleFilesWildcardData =
loader.Load(Path.Combine(dataDirectoryName, "Data_*.csv"));
PrintRowCount(multipleFilesWildcardData);
// Expected Output:
// 50
// Create a TextLoader with user defined type.
var loaderWithCustomType =
mlContext.Data.CreateTextLoader<Data>(hasHeader: false);
// Load a single file from path.
var singleFileCustomTypeData = loaderWithCustomType.Load(dataFiles[0]);
PrintRowCount(singleFileCustomTypeData);
// Expected Output:
// 10
// Create a TextLoader with unknown column length to illustrate
// how a data sample may be used to infer column size.
var dataSample = new MultiFileSource(dataFiles[0]);
var loaderWithUnknownLength = mlContext.Data.CreateTextLoader(
columns: new[]
{
new TextLoader.Column("Features",
DataKind.Single,
new[] { new TextLoader.Range(0, null) })
},
dataSample: dataSample
);
var dataWithInferredLength = loaderWithUnknownLength.Load(dataFiles[0]);
var featuresColumn = dataWithInferredLength.Schema.GetColumnOrNull("Features");
if (featuresColumn.HasValue)
Console.WriteLine(featuresColumn.Value.ToString());
// Expected Output:
// Features: Vector<Single, 10>
//
// ML.NET infers the correct length of 10 for the Features column,
// which is of type Vector<Single>.
PrintRowCount(dataWithInferredLength);
// Expected Output:
// 10
// Save the data with 10 rows to a text file to illustrate the use of
// sparse format.
var sparseDataFileName = Path.Combine(dataDirectoryName, "saved_data.tsv");
using (FileStream stream = new FileStream(sparseDataFileName, FileMode.Create))
mlContext.Data.SaveAsText(singleFileData, stream);
// Since there are many zeroes in the data, it will be saved in a sparse
// representation to save disk space. The data may be forced to be saved
// in a dense representation by setting forceDense to true. The sparse
// data will look like the following:
//
// 10 7:0.943862259
// 10 3:0.989767134
// 10 0:0.949778438 8:0.823028445 9:0.886469543
//
// The sparse representation of the first row indicates that there are
// 10 columns, the column 7 (8-th column) has value 0.943862259, and other
// omitted columns have value 0.
// Create a TextLoader that allows sparse input.
var sparseLoader = mlContext.Data.CreateTextLoader(
columns: new[]
{
new TextLoader.Column("Features", DataKind.Single, 0, 9)
},
allowSparse: true
);
// Load the saved sparse data.
var sparseData = sparseLoader.Load(sparseDataFileName);
PrintRowCount(sparseData);
// Expected Output:
// 10
// Create a TextLoader without any column schema using TextLoader.Options.
// Since the sparse data file was saved with ML.NET, it has the schema
// enoded in its header that the loader can understand:
//
// #@ TextLoader{
// #@ sep=tab
// #@ col=Features:R4:0-9
// #@ }
//
// The schema syntax is unimportant since it is only used internally. In
// short, it tells the loader that the values are separated by tabs, and
// that columns 0-9 in the text file are to be read into one column named
// "Features" of type Single (internal type R4).
var options = new TextLoader.Options()
{
AllowSparse = true,
};
var dataSampleWithSchema = new MultiFileSource(sparseDataFileName);
var sparseLoaderWithSchema =
mlContext.Data.CreateTextLoader(options, dataSample: dataSampleWithSchema);
// Load the saved sparse data.
var sparseDataWithSchema = sparseLoaderWithSchema.Load(sparseDataFileName);
PrintRowCount(sparseDataWithSchema);
// Expected Output:
// 10
}
private static void PrintRowCount(IDataView idv)
{
// IDataView is lazy so we need to iterate through it
// to get the number of rows.
long rowCount = 0;
using (var cursor = idv.GetRowCursor(idv.Schema))
while (cursor.MoveNext())
rowCount++;
Console.WriteLine(rowCount);
}
private class Data
{
[LoadColumn(0, 9)]
public float[] Features { get; set; }
}
}
}
Şunlara uygulanır
CreateTextLoader<TInput>(DataOperationsCatalog, TextLoader+Options, IMultiStreamSource)
Veri modeli türünden veri kümesi şemasını çıkararak bir metin yükleyicisi TextLoader oluşturun.
public static Microsoft.ML.Data.TextLoader CreateTextLoader<TInput> (this Microsoft.ML.DataOperationsCatalog catalog, Microsoft.ML.Data.TextLoader.Options options, Microsoft.ML.Data.IMultiStreamSource dataSample = default);
static member CreateTextLoader : Microsoft.ML.DataOperationsCatalog * Microsoft.ML.Data.TextLoader.Options * Microsoft.ML.Data.IMultiStreamSource -> Microsoft.ML.Data.TextLoader
<Extension()>
Public Function CreateTextLoader(Of TInput) (catalog As DataOperationsCatalog, options As TextLoader.Options, Optional dataSample As IMultiStreamSource = Nothing) As TextLoader
Tür Parametreleri
- TInput
Parametreler
- catalog
- DataOperationsCatalog
Katalog DataOperationsCatalog .
- options
- TextLoader.Options
Yükleme işleminin ayarlarını tanımlar. Yükleme işleminin ayarlarını tanımlar. Sütunlar bu yöntem tarafından çıkarılacağı için Sütunlar alanı belirtmeniz gerekmez.
- dataSample
- IMultiStreamSource
Veri örneğinin isteğe bağlı konumu. Örnek, yuva adları gibi sütunlar hakkındaki bilgileri çıkarsamak için kullanılabilir.
Döndürülenler
Şunlara uygulanır
CreateTextLoader<TInput>(DataOperationsCatalog, Char, Boolean, IMultiStreamSource, Boolean, Boolean, Boolean)
Veri modeli türünden veri kümesi şemasını çıkararak bir metin yükleyicisi TextLoader oluşturun.
public static Microsoft.ML.Data.TextLoader CreateTextLoader<TInput> (this Microsoft.ML.DataOperationsCatalog catalog, char separatorChar = '\t', bool hasHeader = false, Microsoft.ML.Data.IMultiStreamSource dataSample = default, bool allowQuoting = false, bool trimWhitespace = false, bool allowSparse = false);
static member CreateTextLoader : Microsoft.ML.DataOperationsCatalog * char * bool * Microsoft.ML.Data.IMultiStreamSource * bool * bool * bool -> Microsoft.ML.Data.TextLoader
<Extension()>
Public Function CreateTextLoader(Of TInput) (catalog As DataOperationsCatalog, Optional separatorChar As Char = '\t', Optional hasHeader As Boolean = false, Optional dataSample As IMultiStreamSource = Nothing, Optional allowQuoting As Boolean = false, Optional trimWhitespace As Boolean = false, Optional allowSparse As Boolean = false) As TextLoader
Tür Parametreleri
- TInput
Yüklenecek verilerin şemasını tanımlar. Yüklenen verilerin şemasında sütun adlarını ve bunların veri türlerini belirtmek için ortak alanları veya LoadColumnAttribute özellikleri (ve muhtemelen diğer öznitelikleri) kullanın.
Parametreler
- catalog
- DataOperationsCatalog
Katalog DataOperationsCatalog .
- separatorChar
- Char
Sütun ayırıcı karakteri. Varsayılan değer :'\t'.
- hasHeader
- Boolean
Dosyanın özellik adlarıyla bir üst bilgisine sahip olup olmadığı.
sağlandığında, true
içindeki ilk satırın özellik adları için kullanılacağını ve çağrıldığında Load(IMultiStreamSource) ilk satırın atlandığını gösterir. Sağlanmadığında , true
yükleyici çağrıldığında Load(IMultiStreamSource) ilk satırı atlamalıdır, ancak sütunların yuva adları ek açıklamaları olmaz. Bunun nedeni, çıktı şemasının yükleyici oluşturulduğunda yapılmasıdır, çağrıldığında yapılmaz Load(IMultiStreamSource) .
- dataSample
- IMultiStreamSource
Veri örneğinin isteğe bağlı konumu. Örnek, varsa yuva adı ek açıklamalarını çıkarsamak için kullanılabilir.
- allowQuoting
- Boolean
Girişin çift tırnaklı değerler içerip içermeyebileceği. Bu parametre, bir giriş değerindeki ayırıcı karakterleri gerçek ayırıcılardan ayırmak için kullanılır. Çift tırnak içindeki ayırıcılar giriş değerinin bir parçası olarak kabul edildiğinde true
. Olduğunda false
, tüm ayırıcılar, hatta bu beyaz tırnak işaretleri yeni bir sütunu sınırlandırma olarak kabul edilir.
- trimWhitespace
- Boolean
Satırlardan sondaki boşluğu kaldırın.
- allowSparse
- Boolean
Girişin seyrek gösterimler içerip içermeyebileceği. Örneğin, "5 2:6 4:3" içeren bir satır, 5 sütun olduğu ve sıfır olmayan tek sütunun sırasıyla 6 ve 3 değerlerine sahip 2 ve 4 sütunları olduğu anlamına gelir. Sütun dizinleri sıfır tabanlıdır, bu nedenle 2 ve 4 sütunları 3. ve 5. sütunları temsil eder. Bir sütunun yoğun değerleri ve ardından bu şekilde temsil edilen seyrek değerler de olabilir. Örneğin, "1 2 5 2:6 4:3" içeren bir satır, 1 ve 2 değerlerine sahip iki yoğun sütunu ve ardından 0, 0, 6, 0 ve 3 değerleriyle seyrek temsil edilen 5 sütunu temsil eder. Seyrek sütunların dizinleri, 0 üçüncü sütunu temsil etse de 0'dan başlar.