Олег Пономарёв
Победившая ставка- Проекты 16
- Оценка -
- Рейтинг 609
Бюджет: 2500 RUB Срок: 3 дня
Сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю, сделаю
Ставки скрыты
Ставки пока отсутствуют
-
Максим Иванченко 12 июня 2020Здравствуйте! В Вашей задаче есть тонкости, которые могут существенно улучшить результат. Пишу так, поскольку занял в своё время неплохое место на Kaggle и сравнил их задачу с Вашей, у Вас данные могут значительно повлиять на обучение и результат будет не такой радужный. Простейшая сеть, которую хотите применить, здесь может работать не идеально, да и только сети может не хватить для нормального обучения с процентом более 99 на тесте, а не на валидации. К сожалению, на C# не пишу, делал на Python. Но правильное алгоритмическое построение можно применить и на другом языке. Если нужна будет консультация, или будет другая работа с нейросетями - пишите в ЛС.
С уважением.
-
Олег Пономарёв 12 июня 2020Здравствуйте,
Библиотеки (правда, неофициальные) по интеграции с TensorFlow для C# есть, так что завестисть должно. Можно ещё, кстати, завернуть модель TensorFlow в контейнер Docker и работать с ней через REST API вообще из любого языка, если вдруг так вам удобнее.
На датасете из статьи, которую вы прикрепили, можно получить 95% точности даже простой логистической регрессией, у вас датасет посложнее (наложенные линии и меньше картинок). Точность > 90% не слишком высока и выглядит реалистичной, но надо пробовать.
Есть несколько вопросов:
1) Почему в приложенном архиве в Train всего 2000 картинок, хотя есть ещё 8000? Для обучения лучше ведь использовать бОльшую часть датасета.
2) Использовать планируете только на CPU или с GPU ускорением?
3) Не рассматриваете препроцессинг картинок перед сеткой? Мне кажется здесь можно было бы относительно простым алгоритмом попробовать поудалять наложенные линии и, вероятно, на получившихся изображениях сеть работала бы лучше.
-
Саня Тор
13 июня 2020
1 - Там две папки Data и train. Распределены на 80% и 20%. Ну это ведь стандартный набор для обучения не так ли?)
2 - только CPU
3 - можно было бы и почистить, не критично. Но это тогда должен делать я, а на вход обученной сети уже очищенные картинки подавать.
Это не рабочий пример, у меня этот пример рабочий реализован методом:
https://m.habr.com/ru/post/144881/
--------------------------
Я лишь хочу обучить эти цифры и понять как всё это запустить на c# и работать с tensorflow. Можно сказать это только начало. Это самый простой пример для реализации.
В общем попробовав на c# я могу запустить обученную модель с расширением *.pb
Но, из h5 иэто легко переконвертируется в *.pb
-
Олег Пономарёв 13 июня 2020"Ну это ведь стандартный набор для обучения не так ли?)"
Ну так train - это же как раз обучение, именно в нём должно быть 80%, а не 20%, то есть путаница с названиями вышла. (Вообще, делят даже на 3 части - обучение, валидация и тестирование, но если вам пока не принципиально выжимать из модели максимальную точность и нужно просто освоить работу с ней из шарпа, то без валидации можно обойтись).
"только CPU"
Это хорошо, меньше потенциальных проблем со сторонними библиотеками под шарп
"можно было бы и почистить, не критично. Но это тогда должен делать я, а на вход обученной сети уже очищенные картинки подавать."
Да, алгоритмом нужно будет сначала преобразовать имеющийся датасет, чтобы модель обучалась на том же, что будет распознавать при использовании, а потом обрабатывать ним все изображения перед распознаванием. То есть можно делать алгоритм сразу на шарпе, чтобы потом вы могли его у себя в программах в месте с моделью использовать. Но, опять же, если вам пока не нужна максимальная точность, то это можно оставить на потом, вменяемую точность, вероятно, удастся получить и без этого.
"Это не рабочий пример, у меня этот пример рабочий реализован методом:"
Не совсем понял, о каком нерабочем примере речь? И в статье с хабра там совсем простая по современным меркам самописная сеть, вы сейчас её на этом датасете используете? Тогда, если не секрет, какую точность выдаёт?
"В общем попробовав на c# я могу запустить обученную модель с расширением *.pb
Но, из h5 иэто легко переконвертируется в *.pb"
То есть модели из *.pb файлов вы уже разобрались как использовать из шарпа или я что-то не так понял?
-
Саня Тор
14 июня 2020
1 - Давайте пока без очистки попробуем на том что есть. Тут не сильно зашумленные изображения.
2 - моя сеть выдает гдето 80%. Да это простая сеть, вот я и хочу перейти на tensorflow. поэтому и помощи прошу здесь.
3 - Да мне удалось запустить *.pb на шарпе.
-
Саня Тор
14 июня 2020
А с названиями папок да, вышла путаница по неопытности. 80% - тренировочная, и 20% валидация
-
Олег Пономарёв 14 июня 2020"Да мне удалось запустить *.pb на шарпе"
Тогда всё, что вам нужно, получается, это *.pb файл модели, ну и скрипт для её обучения и сохранения? Реализация Keras в TensorFlow поддерживает на выбор сохрание и в *.h5, и в *.pb, так что даже никакой конвертации делать не нужно.
-
Максим Иванченко 13 июня 2020Олег, что-то мне подсказывает, что там алгоритм удалением прямых линий не стоит ограничивать, это только для начала такой датасет. Но вообще, конечно лучше чтобы заказчик определился, вопросы не только те, которые задаёте, есть, всё надо обсуждать. А точность обучения можно думаю заметно более 90 % получить и другими методами, работать даже лучше будет.
Актуальные фриланс-проекты в категории C#
Ищем опытного Unity-разработчика, который поможет завершить разработку игры. О игре: Жанр: симулятор фермы. Игра уже разрабатывается на Unity. Сначала она создавалась для мобильных устройств, но впоследствии было принято решение выпустить её для Steam (ПК). Что нужно сделать: Доработать игру в соответствии с готовым техническим заданием. Адаптировать существующий функционал под ПК и Steam. Реализовать уже запланированные механики и интерфейс. Что мы предоставляем: Подробное техническое задание. Все необходимые материалы (модели, графика, объекты и т.д.). Фото, видео, скриншоты и записи прохождения оригинальной игры. Готовый план реализации. Мы воссоздаем игру, которая успешно работала более 10 лет назад, поэтому ничего выдумывать или проектировать с нуля не нужно. Все механики, интерфейс и логика уже определены — необходимо качественно реализовать их в Unity. Для ознакомления с проектом добавляем ссылку на один из видеообзоров игры: Вставьте ссылку здесь. Требования: Опыт работы с Unity. Опыт разработки или адаптации игр под ПК/Steam будет преимуществом. Умение работать по готовому техническому заданию. В ответе, пожалуйста, укажите: примеры ваших работ; опыт работы с Unity; ориентировочную почасовую ставку или стоимость выполнения. Один из видеообзоров: https://www.youtube.com/watch?v=5_wKoX7zRc0