dotnet / dotnet/machinelearning-modelbuilder
Named Entity Recognition: Generated code to retrain is not working
- 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