Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 13.11.2013
Сообщений: 56

А не баг ли я нашел. JavaCV и нейронные сети

22.02.2014, 07:06. Показов 748. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Конечно судить о баге пока рано, но что-то тут непонятное. А конкретно, есть такой код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
CvMat output = readOutputData(PATH + "outputs.txt");
        for (int i = 0 ; i < TRAIN_SAMPLE_COUNT; i++){
            for (int j = 0; j < TRAIN_SAMPLE_COUNT; j++){
                System.out.print(output.get(i,j) + " ");
            }
            System.out.println();
        }
        
        CvMat input = CvMat.create(TRAIN_SAMPLE_COUNT, INPUT_VECTOR_SIZE, CV_32FC1); //ИСПОЛЬЗОВАТЬ ИМЕННО ЭТОТ ТИП (CV_32FC1)
        
        for (int i = 0 ; i < TRAIN_SAMPLE_COUNT; i++){
            CvMat inputBuf = readInputData(PATH + String.valueOf(i) + "//", String.valueOf(i) + ".bmp");
            CvMat inpMat = Convert2Dto1D(inputBuf);
            for (int j = 0; j < INPUT_VECTOR_SIZE; j++){
                cvSet2D(input,i,j, cvScalarAll(inpMat.get(j)));
            }
        }
        
        CvMat sampleWts = CvMat.create(TRAIN_SAMPLE_COUNT, 1, CV_32FC1); //???
        for (int i = 0; i < sampleWts.rows(); i++){
            cvSet1D(sampleWts, i, cvScalarAll(1));
        }
        
 
        CvMat layer_sizes = CvMat.create(3, 1, CV_32SC1);
        cvSet1D(layer_sizes, 0, cvScalarAll(INPUT_VECTOR_SIZE));
        cvSet1D(layer_sizes, 1, cvScalarAll(INPUT_VECTOR_SIZE + TRAIN_SAMPLE_COUNT));
        cvSet1D(layer_sizes, 2, cvScalarAll(TRAIN_SAMPLE_COUNT));
        
        
        CvANN_MLP network = new CvANN_MLP(layer_sizes, CvANN_MLP.SIGMOID_SYM, 1.0, 1.0);
        
        CvANN_MLP_TrainParams tp = new CvANN_MLP_TrainParams(
                    new CvTermCriteria (CV_TERMCRIT_ITER + CV_TERMCRIT_EPS,
                            100000,
                            1.0),
                    CvANN_MLP_TrainParams.BACKPROP,
                    0.01,
                    0.05
                );
        network.train(input, output, sampleWts, sampleWts, tp, 0 );
прошу не судить строго, только начал разбираться, да и дело-то, в общем, не в этом. Обратите внимание на строку 9, раньше ошибка была в ней, долго не мог разобраться, но потом догадался заглянуть в исходный файл: https://code.ros.org/trac/open... p?rev=4818
а, если совсем точно, найти в нем строку 689 и обнаружить в ней необходимый тип, который должен быть CV_32FC1 (ну или CV_64FC1, а до этого стоял тип CV_32SC1). Ошибку понял, осознал, исправил везде (для output). Далее точно такая же ошибка в строке 19 (раньше там тоже стоял тип CV_32SC1). Заменил на CV_32FC1. Вылезла следующая ошибка:

Unsupported index array data type (it should be 8uC1, 8sC1 or 32sC1)) in cvPreprocessIndexArray, file ..\..\..\..\opencv\modules\ml\src\inner_ functions.cpp

Странно. Делать нечего, пошел и в этот исходный файл: https://code.ros.org/trac/open... p?rev=3486

И нахожу там следующее: строка 418, оператор switch, в нем происходит проверка типа. Разумеется нужного мне типа (CV_32FC1) там нет, а в default на строке 455 он выдает приведенную выше ошибку. То есть в одном месте он требует одного типа, а в другом - другого.

Может быть кто-то сталкивался с этим? Прошу помочь, а то руки уже опускаются.

Заранее спасибо!

Добавлено через 1 час 36 минут
ох...сказываются несколько бессонных ночей, я перепутал simple_weights и simple_idx. Простите за беспокойство =)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2014, 07:06
Ответы с готовыми решениями:

Нашёл баг в C#
m2baei8OhDw Полный код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

Нейронные сети. Ошибка при обработке изоброжения для транировки сети
Здравствуйте, Работа над нейросетью в срде матлаб. На моменте с работой базой данных изображений возникла проблема. Исходый код: ...

Я нашёл баг компилятора g++ 4.6.2 в mingw, куда можно об этом написать?
чтобы исправили?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2014, 07:06
Помогаю со студенческими работами здесь

AVRStudio4, ATMega128, GPS EB-500.нашел баг, исправил,делюсь
Приветствую. Уже давненько подключил GPS модуль к своему самодельному бортовому. Все вроде нормально, если не считать, что при больших...

Я нашёл баг, но его вроде бы и нет, но он всё-таки есть. Мистика!
Здравствуйте! У меня есть программа, она очень очень длинная, поэтому я выкладывать её не буду всю, а покажу отдельный проблемный кусок. ...

Баг роутера D-Link 620 Rev C1. Перерыл все форумы, не нашел решения
Купил роутер, D-Link 620 Rev. C1. До этого стоял Роутер DIR 615 и работал исправно. Когда поставил роутер DIR 620, сразу прошил его на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru