Необработанное исключение типа "System.ArgumentException" при работе с нейросетью - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Знаю, что такая ошибка не редкость и решения есть. Уверяю Вас я пробовал все, сто понял. Если никто не возражает, то я начну с начала. В С# я новичок, но очень заинтересовался темой нейронных сетей и как многие другие легко нашел целый видео курс на ютюбе по разработке нейронных сетей (ссылку не буду ставить, вдруг это не приветствуется). Название этого курса Neural Network Tutorial, состоит он из 14 частей и в последней части приложен полный проект(это на случай если моих копипастов кода не хватит). Цельный проект NeuralNetwork.zip Я целых 3 дня упорно пытался запустить этот проект, но всегда выходила ошибка Необработанное исключение типа "System.ArgumentException" в NeuralNetwork.dll, в
if (input.Length != inputSize)
                throw new ArgumentException("Invalid input parameter", "input");
этом месте. перепробовав кучу разных Xml файлов, я понял, что ошибка вызвана именно ими. Когда пропадала эта ошибка, появлялись 10 других. А Xml тут используется для загрузки данных и их выгрузки. Поэтому я решил обойти xml и вышел на следующее: Ввожу в программу константы:
            double[] input = new double[1] { 0.1 };
            double[] desired = new double[1] { 2.5 };
            double[] output = new double[1];
 
            double error = 0.0;
 
            for (int i = 0; i < 1000; i++)
            {
                error = bpn.Train(ref input, ref desired, 0.15, 0.1);
                bpn.Run(ref input, out output);
Но в этом случае у меня опять выскакивает та же ошибка, в том же месте, того же длл файла. покрутив голову вокруг стула, я начал удалять по куску. и понял, что когда

bpn.Run(ref input, out output);

убрал эту строку, ошибки не стало, но и информации тоже(ведь насколько я понял теперь входные данные просто не передаются). Теперь я понял, что проблема во входных данных, и решил играть с ними. Когда я ввел
     double[] input = new double[2] { 0.1, 0.1 };
            double[] desired = new double[1] { 2.5 };
            double[] output = new double[1];
программа заработала, но на выходе я так ничего и не получил. 1. Вопрос: почему у автора на видео при вводе тех же констант(тех, что первые с доубле[1]) нет ошибки, и нет ошибки при запуске конечного проекта? 2. ЧТо делать и куда бежать? 3. Что это вообще за ошибка? 4. Какой xml файл должен быть чтобы его конечный проект запустился? хелп

Решение задачи: «Необработанное исключение типа "System.ArgumentException" при работе с нейросетью»

textual
Листинг программы
input.Length != inputSize

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы