Oleg Ponomaryov
Winning proposal- Projects 16
- Rating -
- Rating 609
Budget: 2500 RUB Deadline: 3 days
I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do, I will do
Proposals concealed
Proposals are currently absent
-
Maksim Ivanchenko 12 June 2020Здравствуйте! В Вашей задаче есть тонкости, которые могут существенно улучшить результат. Пишу так, поскольку занял в своё время неплохое место на Kaggle и сравнил их задачу с Вашей, у Вас данные могут значительно повлиять на обучение и результат будет не такой радужный. Простейшая сеть, которую хотите применить, здесь может работать не идеально, да и только сети может не хватить для нормального обучения с процентом более 99 на тесте, а не на валидации. К сожалению, на C# не пишу, делал на Python. Но правильное алгоритмическое построение можно применить и на другом языке. Если нужна будет консультация, или будет другая работа с нейросетями - пишите в ЛС.
С уважением.
-
Oleg Ponomaryov 12 June 2020Здравствуйте,
Библиотеки (правда, неофициальные) по интеграции с TensorFlow для C# есть, так что завестисть должно. Можно ещё, кстати, завернуть модель TensorFlow в контейнер Docker и работать с ней через REST API вообще из любого языка, если вдруг так вам удобнее.
На датасете из статьи, которую вы прикрепили, можно получить 95% точности даже простой логистической регрессией, у вас датасет посложнее (наложенные линии и меньше картинок). Точность > 90% не слишком высока и выглядит реалистичной, но надо пробовать.
Есть несколько вопросов:
1) Почему в приложенном архиве в Train всего 2000 картинок, хотя есть ещё 8000? Для обучения лучше ведь использовать бОльшую часть датасета.
2) Использовать планируете только на CPU или с GPU ускорением?
3) Не рассматриваете препроцессинг картинок перед сеткой? Мне кажется здесь можно было бы относительно простым алгоритмом попробовать поудалять наложенные линии и, вероятно, на получившихся изображениях сеть работала бы лучше.
-
Sanya Tor
13 June 2020
1 - Там две папки Data и train. Распределены на 80% и 20%. Ну это ведь стандартный набор для обучения не так ли?)
2 - только CPU
3 - можно было бы и почистить, не критично. Но это тогда должен делать я, а на вход обученной сети уже очищенные картинки подавать.
Это не рабочий пример, у меня этот пример рабочий реализован методом:
https://m.habr.com/ru/post/144881/
--------------------------
Я лишь хочу обучить эти цифры и понять как всё это запустить на c# и работать с tensorflow. Можно сказать это только начало. Это самый простой пример для реализации.
В общем попробовав на c# я могу запустить обученную модель с расширением *.pb
Но, из h5 иэто легко переконвертируется в *.pb
-
Oleg Ponomaryov 13 June 2020"Ну это ведь стандартный набор для обучения не так ли?)"
Ну так train - это же как раз обучение, именно в нём должно быть 80%, а не 20%, то есть путаница с названиями вышла. (Вообще, делят даже на 3 части - обучение, валидация и тестирование, но если вам пока не принципиально выжимать из модели максимальную точность и нужно просто освоить работу с ней из шарпа, то без валидации можно обойтись).
"только CPU"
Это хорошо, меньше потенциальных проблем со сторонними библиотеками под шарп
"можно было бы и почистить, не критично. Но это тогда должен делать я, а на вход обученной сети уже очищенные картинки подавать."
Да, алгоритмом нужно будет сначала преобразовать имеющийся датасет, чтобы модель обучалась на том же, что будет распознавать при использовании, а потом обрабатывать ним все изображения перед распознаванием. То есть можно делать алгоритм сразу на шарпе, чтобы потом вы могли его у себя в программах в месте с моделью использовать. Но, опять же, если вам пока не нужна максимальная точность, то это можно оставить на потом, вменяемую точность, вероятно, удастся получить и без этого.
"Это не рабочий пример, у меня этот пример рабочий реализован методом:"
Не совсем понял, о каком нерабочем примере речь? И в статье с хабра там совсем простая по современным меркам самописная сеть, вы сейчас её на этом датасете используете? Тогда, если не секрет, какую точность выдаёт?
"В общем попробовав на c# я могу запустить обученную модель с расширением *.pb
Но, из h5 иэто легко переконвертируется в *.pb"
То есть модели из *.pb файлов вы уже разобрались как использовать из шарпа или я что-то не так понял?
-
Sanya Tor
14 June 2020
1 - Давайте пока без очистки попробуем на том что есть. Тут не сильно зашумленные изображения.
2 - моя сеть выдает гдето 80%. Да это простая сеть, вот я и хочу перейти на tensorflow. поэтому и помощи прошу здесь.
3 - Да мне удалось запустить *.pb на шарпе.
-
Sanya Tor
14 June 2020
А с названиями папок да, вышла путаница по неопытности. 80% - тренировочная, и 20% валидация
-
Oleg Ponomaryov 14 June 2020"Да мне удалось запустить *.pb на шарпе"
Тогда всё, что вам нужно, получается, это *.pb файл модели, ну и скрипт для её обучения и сохранения? Реализация Keras в TensorFlow поддерживает на выбор сохрание и в *.h5, и в *.pb, так что даже никакой конвертации делать не нужно.
-
Maksim Ivanchenko 13 June 2020Олег, что-то мне подсказывает, что там алгоритм удалением прямых линий не стоит ограничивать, это только для начала такой датасет. Но вообще, конечно лучше чтобы заказчик определился, вопросы не только те, которые задаёте, есть, всё надо обсуждать. А точность обучения можно думаю заметно более 90 % получить и другими методами, работать даже лучше будет.
Current freelance projects in the category C#
We are looking for an experienced Unity developer to help complete the game development. About the game: Genre: farm simulator. The game is already being developed in Unity. Initially, it was created for mobile devices, but later it was decided to release it for Steam (PC). What needs to be done: Finish the game according to the completed technical specification. Adapt the existing functionality for PC and Steam. Implement the already planned mechanics and interface. What we provide: Detailed technical specification. All necessary materials (models, graphics, objects, etc.). Photos, videos, screenshots, and recordings of the original game. A ready implementation plan. We are recreating a game that successfully operated over 10 years ago, so there is no need to invent or design from scratch. All mechanics, interface, and logic are already defined — they need to be implemented in Unity with quality. For project familiarization, we provide a link to one of the game video reviews: Insert link here. Requirements: Experience working with Unity. Experience in developing or adapting games for PC/Steam will be an advantage. Ability to work according to the provided technical specification. In your response, please indicate: examples of your work; experience working with Unity; estimated hourly rate or cost of execution. One of the video reviews: https://www.youtube.com/watch?v=5_wKoX7zRc0