Я использовал модель microsoft ml для обучения некоторых изображений.
обучение завершено, и в обозревателе решений созданы два файла:
MLModel1.consumption.cs
MLModel1.training.cs
как мне интегрироваться с файлами моего проекта?
у меня нет этого zip-архива и текстовых файлов:
private readonly string modelPath = "path/to/your/model.zip";
private readonly string labelPath = "path/to/your/labels.txt";
полный код класса:
using Microsoft.ML;
using Microsoft.ML.Data;
using OpenCvSharp;
using System;
using System.Linq;
namespace ImageAnalayzer
{
public class Analyzing
{
private readonly MLContext mlContext;
private ITransformer model;
private readonly string modelPath = "path/to/your/model.zip";
private readonly string labelPath = "path/to/your/labels.txt";
public Analyzing()
{
mlContext = new MLContext();
LoadModel();
}
private void LoadModel()
{
DataViewSchema inputSchema;
model = mlContext.Model.Load(modelPath, out inputSchema);
}
public string AnalyzeWeatherMap(string imagePath)
{
if (!System.IO.File.Exists(imagePath))
{
return "Error: File does not exist.";
}
// Load the image using OpenCVSharp and preprocess
Mat image = Cv2.ImRead(imagePath, ImreadModes.Color);
if (image.Empty())
{
return "Error: Could not load the image.";
}
// Resize and preprocess image for ML.NET
var resizedImage = image.Resize(new Size(224, 224));
float[] imageData = ConvertMatToFloatArray(resizedImage);
// Create an image data structure
var imageInput = new ImageInputData { Image = imageData };
// Use the model to predict
var predictionEngine = mlContext.Model.CreatePredictionEngine(model);
var prediction = predictionEngine.Predict(imageInput);
// Load labels and interpret results
string[] labels = System.IO.File.ReadAllLines(labelPath);
return $"Prediction: {labels[prediction.PredictedLabelIndex]} with confidence {prediction.Confidence:P2}";
}
private float[] ConvertMatToFloatArray(Mat image)
{
float[] data = new float[224 * 224 * 3];
int index = 0;
for (int y = 0; y < 224; y++)
{
for (int x = 0; x < 224; x++)
{
Vec3b color = image.At(y, x);
data[index++] = color.Item0 / 255.0f;
data[index++] = color.Item1 / 255.0f;
data[index++] = color.Item2 / 255.0f;
}
}
return data;
}
public class ImageInputData
{
[VectorType(1, 224, 224, 3)]
public float[] Image { get; set; }
}
public class ImagePrediction : ImageInputData
{
public float[] Score { get; set; }
[ColumnName("PredictedLabel")]
public uint PredictedLabelIndex { get; set; }
public float Confidence => Score.Max();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-and-mlmo
Как интегрировать обученные сгенерированные файлы ML MLModel1.consumption.cs и MLModel1.training.cs в мой проект Winform ⇐ C#
Место общения программистов C#
1730222819
Anonymous
Я использовал модель microsoft ml для обучения некоторых изображений.
обучение завершено, и в обозревателе решений созданы два файла:
MLModel1.consumption.cs
MLModel1.training.cs
как мне интегрироваться с файлами моего проекта?
у меня нет этого zip-архива и текстовых файлов:
private readonly string modelPath = "path/to/your/model.zip";
private readonly string labelPath = "path/to/your/labels.txt";
полный код класса:
using Microsoft.ML;
using Microsoft.ML.Data;
using OpenCvSharp;
using System;
using System.Linq;
namespace ImageAnalayzer
{
public class Analyzing
{
private readonly MLContext mlContext;
private ITransformer model;
private readonly string modelPath = "path/to/your/model.zip";
private readonly string labelPath = "path/to/your/labels.txt";
public Analyzing()
{
mlContext = new MLContext();
LoadModel();
}
private void LoadModel()
{
DataViewSchema inputSchema;
model = mlContext.Model.Load(modelPath, out inputSchema);
}
public string AnalyzeWeatherMap(string imagePath)
{
if (!System.IO.File.Exists(imagePath))
{
return "Error: File does not exist.";
}
// Load the image using OpenCVSharp and preprocess
Mat image = Cv2.ImRead(imagePath, ImreadModes.Color);
if (image.Empty())
{
return "Error: Could not load the image.";
}
// Resize and preprocess image for ML.NET
var resizedImage = image.Resize(new Size(224, 224));
float[] imageData = ConvertMatToFloatArray(resizedImage);
// Create an image data structure
var imageInput = new ImageInputData { Image = imageData };
// Use the model to predict
var predictionEngine = mlContext.Model.CreatePredictionEngine(model);
var prediction = predictionEngine.Predict(imageInput);
// Load labels and interpret results
string[] labels = System.IO.File.ReadAllLines(labelPath);
return $"Prediction: {labels[prediction.PredictedLabelIndex]} with confidence {prediction.Confidence:P2}";
}
private float[] ConvertMatToFloatArray(Mat image)
{
float[] data = new float[224 * 224 * 3];
int index = 0;
for (int y = 0; y < 224; y++)
{
for (int x = 0; x < 224; x++)
{
Vec3b color = image.At(y, x);
data[index++] = color.Item0 / 255.0f;
data[index++] = color.Item1 / 255.0f;
data[index++] = color.Item2 / 255.0f;
}
}
return data;
}
public class ImageInputData
{
[VectorType(1, 224, 224, 3)]
public float[] Image { get; set; }
}
public class ImagePrediction : ImageInputData
{
public float[] Score { get; set; }
[ColumnName("PredictedLabel")]
public uint PredictedLabelIndex { get; set; }
public float Confidence => Score.Max();
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79138335/how-to-integrate-the-trained-generated-ml-files-mlmodel1-consumption-cs-and-mlmo[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия