dotnet / dotnet/machinelearning-modelbuilder

Named Entity Recognition: Generated code to retrain is not working

Offen
#2,877 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Dockerfile
Sterne
285
Forks
66
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

**System Information (please complete the following information):**
- Model Builder Version (available in Manage Extensions dialog): 17.18.2.2415501
- Visual Studio Version: 17.9.2

Train function generated by Builder is not working for "Named Entity Recognition" and cause exception:

> System.ArgumentOutOfRangeException: 'Cannot map column (name: Label, type: Key) in data to the user-defined type, Microsoft.ML.Data.VBuffer`1[System.UInt32]. Arg_ParamName_Name'

Using builder, a was able to generate Named Entity Recognition mlnet model. Builder generated *.training.cs file with "Train" function:
```
///
/// Train a new model with the provided dataset.
///
/// File path for saving the model. Should be similar to "C:\YourPath\ModelName.mlnet"
/// Path to the data file for training.
/// Separator character for delimited training file.
/// Boolean if training file has a header.
public static void Train(string outputModelPath, string inputDataFilePath = RetrainFilePath, char separatorChar = RetrainSeparatorChar, bool hasHeader = RetrainHasHeader, bool allowQuoting = RetrainAllowQuoting)
{
var mlContext = new MLContext();
var data = LoadIDataViewFromFile(mlContext, inputDataFilePath, separatorChar, hasHeader, true);
var model = RetrainModel(mlContext, data);
SaveModel(mlContext, model, data, outputModelPath);
}
```
Trying to use this function cause an exception on:
```
///
/// Retrain model using the pipeline generated as part of the training process.
///
///
///
///
public static ITransformer RetrainModel(MLContext mlContext, IDataView trainData)
{
var pipeline = BuildPipeline(mlContext);
var model = pipeline.Fit(trainData); // <-HERE AN EXCEPTION IS THROWN

return model;
}
```

> System.ArgumentOutOfRangeException: 'Cannot map column (name: Label, type: Key) in data to the user-defined type, Microsoft.ML.Data.VBuffer`1[System.UInt32]. Arg_ParamName_Name'

Here is the example dataset i made for the sake of this post but every data set i have tried is not working:
[test data example.txt](https://github.com/dotnet/machinelearning-modelbuilder/files/14549394/test.data.example.txt)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie mit der generierten Datei *.training.cs und reproduzieren Sie den Fehler in RetrainModel bei pipeline.Fit(trainData) unter Verwendung des angehängten Testdatenbeispiels example.txt. Verfolgen Sie die Spalte Label durch LoadIDataViewFromFile und BuildPipeline, und überprüfen Sie anschließend, dass das Training ohne die gemeldete Mapping-Ausnahme abgeschlossen wird und dass das generierte Modell gespeichert werden kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
machine-learning
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.