Ml.net LoadFromEnumerable всегда выдает System.ArgumentOutOfRangeExceptionC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ml.net LoadFromEnumerable всегда выдает System.ArgumentOutOfRangeException

Сообщение Anonymous »

Я получаю следующее исключение:
System.ArgumentOutOfRangeException: Could not determine an IDataView type and registered custom types for member ValueType (Parameter 'rawType')

Для этих двух случаев:
Случай 1: (для меня вполне нормально получить здесь исключение):
MLContext mlContext = new MLContext();
var dataViewDateTimeValues = mlContext.Data.LoadFromEnumerable(dateTimeValues.Data.Values);

Случай 2: здесь есть исключение? Почему и как это решить? (не нравится «ValueType», которого здесь нет в схеме):
MLContext mlContext = new MLContext();
var dataViewDateTimeValues = mlContext.Data.LoadFromEnumerable(dateTimeValues.Data.Values);
var builder = new DataViewSchema.Builder();
builder.AddColumn("DateTimeOffset", Microsoft.ML.Data.DateTimeOffsetDataViewType.Instance);
builder.AddColumn("Value", Microsoft.ML.Data.NumberDataViewType.Single);
DataViewSchema schema = builder.ToSchema();

Для моего класса:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.ComponentModel;
using Microsoft.ML.Data;
using System.Reflection.Metadata.Ecma335;

namespace CommanDER.Forecast
{
public class DateTimeValue : ObservableObject
{
public DateTimeValue()
{
DateTimeOffset = default;
Value = 0;
}

public DateTimeValue(DateTimeOffset dateTime, float value)
{
DateTimeOffset = dateTime;
Value = value;
}

public DateTimeValue(DateTimeOffset dateTime, double value)
{
DateTimeOffset = dateTime;
ValueDouble = value;
}

public const string DateTimeValueFormat = "yyyy-MM-dd HH:mm";

[Display(AutoGenerateField = false)]
[Browsable(false)]
[LoadColumn(0)] // EO: For ML.net, for file usage in CSV or TSV (tab separarted value)
public DateTimeOffset DateTimeOffset { get; set; }

[LoadColumn(1)] // EO: for file usage in CSV ot TSV (tab separarted value) (used also in ml.net ???)
public float Value { get; set; } // Float seems to be required by ml.net

public double ValueDouble { get => Value; set => Value = (float)value; }

private double[]? _mlPrediction;

[VectorType(7)]
public double[]? MlPrediction { get => _mlPrediction; set => SetProperty(ref _mlPrediction, value); } // = new double[TotalGuessOfCount];

public string MlPredictionDisplay
{
get => MlPrediction is null ? "{null}" : string.Join(", ", MlPrediction);
}

private ValueTypeEnum _valueType = ValueTypeEnum.Raw;

[Browsable(false)]
public ValueTypeEnum ValueType { get => _valueType; set => SetProperty(ref _valueType, value); }

private DateTimeOffset _dateTimeValueCopied = default;

[Browsable(false)]
public DateTimeOffset DateTimeValueCopied { get => _dateTimeValueCopied; set => SetProperty(ref _dateTimeValueCopied, value); } // Usually not used otherwise should be a multiple of 7 at same time in order to get same day of week.

public override string ToString()
{
return $"Date: {DateTimeOffset.ToString(DateTimeValueFormat)}, Value: {Value}";
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CommanDER.Forecast
{
public enum ValueTypeEnum

{
Raw = 0,
Interpolated = 1,
CopiedFromAnotherDateTime = 2,
OutOfRange = 3,
}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... eexception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Метод не найден: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)
    Anonymous » » в форуме C#
    0 Ответы
    141 Просмотры
    Последнее сообщение Anonymous
  • Почему мой DirectorySearcher выдает исключение ArgumentOutOfRangeException, когда я пытаюсь получить свойство по имени?
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • System.ArgumentOutOfRangeException при обновлении соединения WebSocket?
    Гость » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Гость
  • System.ArgumentOutOfRangeException при обновлении соединения WebSocket?
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • System.ArgumentOutOfRangeException при установке RadioButton IsChecked в MAUI
    Anonymous » » в форуме C#
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»