Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Image classification training convert to onnx file format

Abierto
#1,048 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

Comienza con el ejemplo de clasificación de imágenes en C# y el punto de entrada ConvertToOnnx; después, reproduce la excepción usando la canalización mostrada en el issue. Determina qué etapas se pueden representar en ONNX y acuerda el comportamiento previsto de mejor esfuerzo; la tarea está terminada cuando la ruta de conversión compatible o la capacidad solicitada están definidas y demostradas para este ejemplo.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I've been doing experiments with the C# image classification examples, and I've been struggling trying to modify the sample to save an ONNX file without success, since it gives me the usual "The targeted pipeline can not be fully converted into a well-defined ONNX model" exception.

So which would be the steps required to be able to save an onnx file?

I am aware some pipeline might contain ML transformers that are not available in ONNX, but maybe the ConvertToOnnx method could have a "best effort" option that would automatically convert what can be converted.

In other words, I would like to save the raw ONNX model that's in between the transformers that cannot be converted to ONNX.

var trainTestSplit = _mlContext.Data.TrainTestSplit(data, testFraction: 0.2);
var trainData = trainTestSplit.TrainSet;
var testData = trainTestSplit.TestSet;

var pipeline = _mlContext.Transforms.Conversion.MapValueToKey(
outputColumnName: "LabelKey",
inputColumnName: "Label")

.Append(_mlContext.Transforms.LoadRawImageBytes(
outputColumnName: "Image",
imageFolder: null,
inputColumnName: "ImagePath"))
.Append(_mlContext.MulticlassClassification.Trainers.ImageClassification(
new ImageClassificationTrainer.Options()
{
LabelColumnName = "LabelKey",
FeatureColumnName = "Image",
Arch = ImageClassificationTrainer.Architecture.InceptionV3,
Epoch = _settings.Epochs,
BatchSize = _settings.BatchSize,
LearningRate = 0.001f,
MetricsCallback = (metrics) => _logger.LogInformation($"Epoch: {metrics.Train?.Epoch}, Top1Accuracy: {metrics.Train?.Accuracy}")
}))
.Append(_mlContext.Transforms.Conversion.MapKeyToValue(
outputColumnName: "PredictedLabel",
inputColumnName: "PredictedLabel"));

Lenguaje dominante
PowerShell
Estrellas
4.7k
Forks
2.7k
Merge medio
2 d 22 h
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/machinelearning-samples

Todos los issues de dotnet/machinelearning-samples

Issues similares

Más issues de Machine Learning

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.