Вот прототип. Запускать из папки где нет русских букв в пути. При ручном удаление рядом с .exe записывается статистика в файл Statistics.txt с параметрами обеих картинок и последняя цифра если удаляем первую картинку то 0, иначе 1. После накопления большой статистики нажимаем в настройках Train и ждем завершения. Результаты тренировки можно посмотреть в NeuralNetwork\training_strategy_results.dat. Потом переключаем режим установки подсказок на сеть и тестируем. У меня пока ерунда.
Сильно подозреваю, что в общем случае "ерунда" и будет получаться на выходе, т.к. далеко не всегда критерием выбора удаляемого дубля является вычисляемая программой совокупность численных параметров качества картинки. Сугубо для примера - мы оставляем наиболее удачный в композиционном плане кадр в серийной съемке, при примерно равном качестве снимков. Иными словами - бесполезно обучать нейронную сеть распознавать русские буквы на примерах китайского письма. Для какой-то узкой подзадачи (типа поиска оригинала в папке с кучкой его отредактированных копий) метод по идее должен работать, но в общем случае - сомневаюсь. Но в любом случае - подход интересен, будет времечко - поэкспериментирую.
MiAMi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Поправил русский путь и еще мелочи.
Думаю надо хотя бы 100, лучше 700 записей накопить чтобы судить о работе сети.
Пересобрал в Release конфигурации. Побыстрее.
Убрал сохранение в статистике при 0-ом различие.
Здравствуйте! У меня возник такой вопрос: возможно ли сохранять результат обучения нейронной сети в файл для дальнейшей загрузки на сервер где на основе множества файлов от разных пользователей создавать обобщённый файл для дальнейшего обучения нейронной сети?
Концепция видится такой:
имеются два файла
UserBase
MainBase
При проверке обновлений UserBase заливается на сервер, а также скачивается MainBase.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Можно такое, но не результат обучения, а данные для обучения. Но для начала надо сделать чтобы просто приемлимо работало. Можете сюда заливать свои файл статистики, если они большие.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Сделал програмку на основе OpenCV и протестировал разные методы обучения на основе своей статистики.
Результаты:
The database d:\SoftMy\OpenCVML\Debug\Statistics.txt is loaded.
Train samples:1375, test samples:344
Prepare train data
Training the Boost classifier (may take a few minutes)...
Number of trees: 100
Recognition rate: train = 99.3%
Recognition rate: test = 80.5%
Prepare train data
Training the KNearest classifier (may take a few minutes)...
Recognition rate: train = 79.2%
Recognition rate: test = 73.3%
Training the Random Trees classifier ...
Number of trees: 46
Recognition rate: train = 93.7%
Recognition rate: test = 78.2%
Training the ANN classifier (may take a few minutes)...
Recognition rate: train = 48.3%
Recognition rate: test = 50.0%
Training the NormalBayesClassifier classifier ...
Recognition rate: train = 58.4%
Recognition rate: test = 60.5%
Training the SVM classifier ...
Recognition rate: train = 47.6%
Recognition rate: test = 49.1%
Вроде 80% для Boost приемлимо. Лучше чем 50% для нейронной сети. Так что можно это прикручивать.
Версия с установкой подсказок на удаление на основе натренированной нейронной сети.
Вот прототип. Запускать из папки где нет русских букв в пути. При ручном удаление рядом с .exe записывается статистика в файл Statistics.txt с параметрами обеих картинок и последняя цифра если удаляем первую картинку то 0, иначе 1. После накопления большой статистики нажимаем в настройках Train и ждем завершения. Результаты тренировки можно посмотреть в NeuralNetwork\training_strategy_results.dat. Потом переключаем режим установки подсказок на сеть и тестируем. У меня пока ерунда.
Last edit: Dmitry Borisov 2016-02-08
View and moderate all "Русский Общий Форум" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Сильно подозреваю, что в общем случае "ерунда" и будет получаться на выходе, т.к. далеко не всегда критерием выбора удаляемого дубля является вычисляемая программой совокупность численных параметров качества картинки. Сугубо для примера - мы оставляем наиболее удачный в композиционном плане кадр в серийной съемке, при примерно равном качестве снимков. Иными словами - бесполезно обучать нейронную сеть распознавать русские буквы на примерах китайского письма. Для какой-то узкой подзадачи (типа поиска оригинала в папке с кучкой его отредактированных копий) метод по идее должен работать, но в общем случае - сомневаюсь. Но в любом случае - подход интересен, будет времечко - поэкспериментирую.
MiAMi
Поправил русский путь и еще мелочи.
Думаю надо хотя бы 100, лучше 700 записей накопить чтобы судить о работе сети.
Пересобрал в Release конфигурации. Побыстрее.
Убрал сохранение в статистике при 0-ом различие.
Last edit: Dmitry Borisov 2016-02-17
View and moderate all "Русский Общий Форум" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Здравствуйте! У меня возник такой вопрос: возможно ли сохранять результат обучения нейронной сети в файл для дальнейшей загрузки на сервер где на основе множества файлов от разных пользователей создавать обобщённый файл для дальнейшего обучения нейронной сети?
Концепция видится такой:
имеются два файла
UserBase
MainBase
При проверке обновлений UserBase заливается на сервер, а также скачивается MainBase.
Можно такое, но не результат обучения, а данные для обучения. Но для начала надо сделать чтобы просто приемлимо работало. Можете сюда заливать свои файл статистики, если они большие.
Сделал програмку на основе OpenCV и протестировал разные методы обучения на основе своей статистики.
Результаты:
The database d:\SoftMy\OpenCVML\Debug\Statistics.txt is loaded.
Train samples:1375, test samples:344
Prepare train data
Training the Boost classifier (may take a few minutes)...
Number of trees: 100
Recognition rate: train = 99.3%
Recognition rate: test = 80.5%
Prepare train data
Training the KNearest classifier (may take a few minutes)...
Recognition rate: train = 79.2%
Recognition rate: test = 73.3%
Training the Random Trees classifier ...
Number of trees: 46
Recognition rate: train = 93.7%
Recognition rate: test = 78.2%
Training the ANN classifier (may take a few minutes)...
Recognition rate: train = 48.3%
Recognition rate: test = 50.0%
Training the NormalBayesClassifier classifier ...
Recognition rate: train = 58.4%
Recognition rate: test = 60.5%
Training the SVM classifier ...
Recognition rate: train = 47.6%
Recognition rate: test = 49.1%
Вроде 80% для Boost приемлимо. Лучше чем 50% для нейронной сети. Так что можно это прикручивать.
Last edit: Dmitry Borisov 2016-04-25