Олег Пономарёв
Переможець- Проєкти 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