Найдены возможные дубликаты

Отредактировала Navy.Blue 8 дней назад
+36

Инь и Ян вот , а у вас реклама пепси...

Иллюстрация к комментарию
раскрыть ветку 6
+13

просто белая точка - "почему мой код работает, а не должен бы", а черная - "почему мой код не работает, а должен бы".


У меня случАй был, когда еще в универе учился... Был молод и глуп и заимев писюк решил разогнать процессор, но что-то пошло нетак и после моих попыток его разогнать проц начал глючить и подвисать. И вот дали мне как-то какую-то задачу, в универе... ну нужно было на каком-то языке посчитать-что-то. Так вот, программу склепал. но ответ выдавался неверный... я все волосы себе везде повыдергивал с этой прогой, но не понял в чем проблема. Когда пришел в универ и запустил его на тамошних компах - программа все считала правильно... После этого я ни один компьютер даже не пытался разгонять.

раскрыть ветку 4
0
Белая и черная точка это "да хуй знает".
0
У тебя дома была 32 битная система а в универе 64 битная, точность разная, а в проге операции с плавающей точкой плюс округления ? Короче я не программист, просто объяву разместил. Я прав ?
раскрыть ветку 1
-1
Просто после разгона памяти, процессора или видеокарты надо проводить стресс тесты, которые как раз такие проблемы должны выявлять
-1

не похоже на пепси совсем

+18

Вопрос "почему мой код работает" возникал только на первых курсах универа, когда только входил в разработку. У зрелого специалиста такой вопрос вызовет только недоумение. Эти ойти приколюхи придумывают выёбщики с интернет-курсами за плечами или что?

раскрыть ветку 10
+20

Это прост ты похоже миновал старые и сложные легаси системы, в логике которых черт ногу сломит.

раскрыть ветку 1
+7
С языка снял. Хеловорлдщик который все и всегда "знает" не палится.
+11

Ещё вариант - скопипастить со стаковерфлоу, и потом копать, почему заработало. Но тоже за уши притянуто, даже копипаст надо адаптировать, а для этого надо шарить

+3

*оно работает! но не должно

-2
Согласен. Делаем всё по методологии используем паттерны проектирования и никаких проблем.
раскрыть ветку 4
+17

как узнать выебщика? он делает всё по методологии и использует паттерны

раскрыть ветку 3
0
Ну хз, когда я смотрю исходники своей курсовой с первого курса на делфи, то до сих пор не понимаю каким боком оно работает.
А так да, интернет-курсы зло.
+9

Если код полностью покрыт тестами, вопроса "Почему не работает?" не возникает. Вопроса "Как мой код работает?" не возникает, если ты пишешь к коду документацию и комментарии. Но, к сожалению, в некоторых компаниях настолько ебанутые дедлайны, что не хватает времени ни на документацию, ни на, тем более, тесты. Так что дело тут может быть далеко не в "говнопрограммисте", как многие в комментариях думают.

раскрыть ветку 13
+3

Хз кто пишет комменты) если код требует комментов - его нужно переписать)

раскрыть ветку 6
+5
Комменты ты пишешь не для себя, а для других чтобы они могли глазами проглядеть и погимать что перед ними, а не раскручивать как что работает.
раскрыть ветку 5
-1
Именно по этому и возникает вопрос: за что такие бабки?
раскрыть ветку 5
+5

Как раз за что такие бабки вопроса не возникает, учитывая нагрузку на программиста. Но возникает другой вопрос: стоит ли работать в компании с таким говноменеджментом? Каждый решает это для себя сам, исходя из обстоятельств. А лично для меня ответ на этот вопрос очевиден.

раскрыть ветку 4
+3

инь и ян

0
Если программист не знает как работает его код, то либо это не программист либо код не его.
раскрыть ветку 6
+6

Либо код старый, а времени нормально документировать не дали.

раскрыть ветку 5
+2

Бывают настолько старые задачи что уже и не помнишь что их делал. Когда все работает и по задаче к тебе не обращаются.

-6

хороший код в документации не нуждается)

раскрыть ветку 3
ещё комментарии
-1

не стоит начинать писать код, если ты не понимаешь задачу и не можешь ее решить в голове. А когда у тебя уже есть решение в голове то закодить его можно легко.

раскрыть ветку 1
+1

Когда это типовая задача на известном тебе стеке. Так бывает не везде и не всегда

-14

А зачем вы говнокодера называете программистом? Вот я программист - у меня код проекта - около 5 мегабайт - весь в голове и я знаю, что и как работает...

раскрыть ветку 8
+11

Прикинь, бывают проекты и побольше. Случается и такое, что много людей одновременно над одной кодовой базой работает. И - о б-же мой - иногда даже приходится тащить посторонний код в свой уютненький уголок.

+13

Вернись к нему через недельку, а лучше через пару месяцев и будет вот это вот, что на картинке.

+3

Бывают проги где некоторые объёмные части кода (подпрограмма) ты берёшь у других. Особенно если изначально эта часть кода не совсем для твоей задачи была нужна.
А бывает что написал код, он не работает из-за твоей мелкой ошибки, и что, как тебе её копия в голове помогла?

+2

5 мегабайт... hello world и я могу в голове держать

раскрыть ветку 2
+1
Лови разраба на ноде!
раскрыть ветку 1
+1

Рад за тебя

-1

Тут ошибка начиная с заголовка, может поэтому у него нечего не работает?)

ещё комментарии
-1
Почему он работает не так как я хочу
-2
После "как" должна быть запятая.
Как, мой код работает??
-1
Зачем работает?
-1
"Почему" и "как" - разные вопросы.
Похожие посты
31

Что находится между идеей и кодом? Обзор 14 диаграмм UML

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Аве Кодер! Тебе пришла крутая идея продукта, но ты не хочешь увязнуть в коде и потерять целостную картинку из-за мелких деталей? Ты вот-вот присядешь за то, что крякнул корпоративный сервер и тебе нужно набить что-то крутое и айтишное?


UML, как мы знаем, является стандартизированным языком моделирования, состоящим из интегрированного набора диаграмм, разработанных, чтобы помочь разработчикам систем и программного обеспечения в определении, визуализации, конструировании и документировании артефактов программных систем, а также, к примеру, для бизнес-моделирования.


UML представляет собой набор лучших инженерных практик, которые доказали свою эффективность в моделировании больших и сложных систем и является очень важной частью разработки объектно-ориентированного программного обеспечения.


UML использует в основном графические обозначения, чтобы выразить дизайн программных проектов. Использование UML помогает проектным группам общаться, изучать потенциальные проекты и проверять архитектурный дизайн программного обеспечения.


Для тех, кому лень читать и кто предпочитает смотреть и слушать: https://youtu.be/0I9aIP5gKCg


Основные цели дизайна UML:

Предоставить пользователям готовый, выразительный язык визуального моделирования, чтобы они могли разрабатывать и обмениваться осмысленными моделями.

Обеспечить механизмы расширяемости и специализации для расширения основных понятий.

Быть независимым от конкретных языков программирования и процессов разработки.

Обеспечить формальную основу для понимания языка моделирования.

Поощрять рост рынка объектно-ориентированных инструментов.

Поддержка высокоуровневых концепций разработки, таких как совместная работа, структуры, шаблоны и компоненты.

Интегрировать лучшие практики.


Диаграммы UML подразделяют на два типа - это структурные диаграммы и диаграммы поведения.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Структурные диаграммы показывают статическую структуру системы и ее частей на разных уровнях абстракции и реализации, а также их взаимосвязь. Элементы в структурной диаграмме представляют значимые понятия системы и могут включать в себя абстрактные, реальные концепции и концепции реализации.


Диаграммы поведения показывают динамическое поведение объектов в системе, которое можно описать, как серию изменений в системе с течением времени.


Теперь пару слов о каждой из них


Диаграмма классов

https://youtu.be/sVVJp5a41o4


Диаграмма классов - это центральная методика моделирования, которая используется практически во всех объектно-ориентированных методах. Эта диаграмма описывает типы объектов в системе и различные виды статических отношений, которые существуют между ними.


Три наиболее важных типа отношений в диаграммах классов (на самом деле их больше), это:

-- Ассоциация, которая представляет отношения между экземплярами типов, к примеру, человек работает на компанию, у компании есть несколько офисов.

-- Наследование, которое имеет непосредственное соответствие наследованию в Объектно-Ориентированном дизайне.

-- Агрегация, которая представляет из себя форму композиции объектов в объектно-ориентированном дизайне.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма компонентов

https://youtu.be/OiVyha3sf_I


На языке унифицированного моделирования диаграмма компонентов показывает, как компоненты соединяются вместе для формирования более крупных компонентов или программных систем.


Она иллюстрирует архитектуры компонентов программного обеспечения и зависимости между ними.

Эти программные компоненты включают в себя компоненты времени выполнения, исполняемые компоненты, а также компоненты исходного кода.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма развертывания

https://youtu.be/Yz8phtJoP7I


Диаграмма развертывания помогает моделировать физический аспект объектно-ориентированной программной системы. Это структурная схема, которая показывает архитектуру системы, как развертывание (дистрибуции) программных артефактов.

Артефакты представляют собой конкретные элементы в физическом мире, которые являются результатом процесса разработки.


Диаграмма моделирует конфигурацию времени выполнения в статическом представлении и визуализирует распределение артефактов в приложении.

В большинстве случаев это включает в себя моделирование конфигураций оборудования вместе с компонентами программного обеспечения, на которых они размещены.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма объектов

https://youtu.be/tVW5oHNfAvc


Статическая диаграмма объектов является экземпляром диаграммы класса; она показывает снимок подробного состояния системы в определенный момент времени. Разница в том, что диаграмма классов представляет собой абстрактную модель, состоящую из классов и их отношений.

Тем не менее, диаграмма объекта представляет собой экземпляр в конкретный момент, который имеет конкретный характер.Использование диаграмм объектов довольно ограничено, а именно - чтобы показать примеры структуры данных.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма пакетов

https://youtu.be/237BWanM4Ak


Диаграмма пакетов - это структурная схема UML, которая показывает пакеты и зависимости между ними.

Она позволяет отображать различные виды системы, например, легко смоделировать многоуровневое приложение.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма составной структуры

https://youtu.be/nsuJcMNaKeE


Диаграмма составной структуры аналогична диаграмме классов и является своего рода диаграммой компонентов, используемой в основном при моделировании системы на микроуровне, но она изображает отдельные части вместо целых классов. Это тип статической структурной диаграммы, которая показывает внутреннюю структуру класса и взаимодействия, которые эта структура делает возможными.


Эта диаграмма может включать внутренние части, порты, через которые части взаимодействуют друг с другом или через которые экземпляры класса взаимодействуют с частями и с внешним миром, и соединители между частями или портами. Составная структура - это набор взаимосвязанных элементов, которые взаимодействуют во время выполнения для достижения какой-либо цели. Каждый элемент имеет определенную роль в сотрудничестве.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма профилей

https://youtu.be/qBws7AfvDL8


Диаграмма профилей позволяет нам создавать специфичные для домена и платформы стереотипы и определять отношения между ними. Мы можем создавать стереотипы, рисуя формы стереотипов и связывая их с композицией или обобщением через интерфейс, ориентированный на ресурсы. Мы также можем определять и визуализировать значения стереотипов.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма прецедентов

https://youtu.be/BdAcxboG5No


Диаграмма прецедентов описывает функциональные требования системы с точки зрения прецедентов. По сути дела, это модель предполагаемой функциональности системы (прецедентов) и ее среды (актеров).

Прецеденты позволяют связать то, что нам нужно от системы с тем, как система удовлетворяет эти потребности.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма деятельности

https://youtu.be/Z8PHBsNXAgc


Диаграммы деятельности представляют собой графическое представление рабочих процессов поэтапных действий и действий с поддержкой выбора, итерации и параллелизма.

Они описывают поток управления целевой системой, такой как исследование сложных бизнес-правил и операций, а также описание прецедентов и бизнес-процессов.

В UML диаграммы деятельности предназначены для моделирования как вычислительных, так и организационных процессов.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма состояний

https://youtu.be/ojCcUvGfpi8


Диаграмма состояний - это тип диаграммы, используемый в UML для описания поведения систем, который основан на концепции диаграмм состояний Дэвида Харела. Диаграммы состояний отображают разрешенные состояния и переходы, а также события, которые влияют на эти переходы. Она помогает визуализировать весь жизненный цикл объектов и, таким образом, помогает лучше понять системы, основанные на состоянии.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма последовательности

https://youtu.be/ycg3njrkk1c


Диаграмма последовательности моделирует взаимодействие объектов на основе временной последовательности. Она показывает, как одни объекты взаимодействуют с другими в конкретном прецеденте.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма Коммуникации

https://youtu.be/KVLJj9xOq0E


Как и диаграмма последовательности, диаграмма коммуникации также используется для моделирования динамического поведения прецедента. Если сравнивать с Диаграммой последовательности, Диаграмма коммуникации больше сфокусирована на показе взаимодействия объектов, а не временной последовательности. На самом деле, диаграмма коммуникации и диаграмма последовательности семантически эквивалентны и могут перетекать одна в другую.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма обзора взаимодействия

https://youtu.be/E0OJG8ojEAg


Диаграмма обзора взаимодействий фокусируется на обзоре потока управления взаимодействиями. Это вариант Диаграммы деятельности, где узлами являются взаимодействия или события взаимодействия. Диаграмма обзора взаимодействий описывает взаимодействия, в которых сообщения и линии жизни скрыты. Мы можем связать «реальные» диаграммы и добиться высокой степени навигации между диаграммами внутри диаграммы обзора взаимодействия.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Временная диаграмма

https://youtu.be/NKTyDQUkLoM


Временная диаграмма показывает поведение объекта (ов) в данный период времени. По сути - это особая форма диаграммы последовательности и различия между ними состоят в том, что оси меняются местами так, что время увеличивается слева направо, а линии жизни отображаются в отдельных отсеках, расположенных вертикально.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма
Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Зачем в UML столько диаграмм?


Причина этого заключается в том, что можно взглянуть на систему с разных точек зрения ведь в разработке программного обеспечения будут участвовать многие заинтересованные стороны, такие как: аналитики, конструкторы, кодеры, тестеры, контроль качества, клиенты, технические авторы.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Все эти люди заинтересованы в различных аспектах системы, и каждый из них требует разного уровня детализации.

Например, кодер должен понимать проект системы и уметь преобразовывать проект в код низкого уровня.

Напротив, технический писатель интересуется поведением системы в целом и должен понимать, как функционирует продукт.

UML пытается предоставить язык настолько выразительным образом, что все заинтересованные стороны могут извлечь выгоду, как минимум из одной диаграммы UML.



Аве!

Показать полностью 17
131

Во что поиграть программисту на карантине

На карантине я решил освоить программирование на Python…, но залип на играх. На эту тему есть много игрушек, в которых программисту можно весело провести время. Я опишу некоторые из тех, которые меня заинтересовали.

TIS-100

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

Игра, от Zachtronics, которая уже считается классикой и практически породила свой собственный жанр “zach-like”, (не путать с “souls-like” )))))), а то будет боооооль). Без поллитра не разберешься, но когда разберешься, то становится интересно, и дальше все интереснее. Минус - сюжет только на английском языке. Если любите сложные задачки - очень рекомендую.


Ссылка на Steam: https://store.steampowered.com/app/370360/TIS100/

SHENZHEN I/O

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

Если понравилась предыдущая игрушка, то также посмотрите на ее более продвинутую версию от того же разработчика - с более интересными геймплейными возможностями, поддержкой мастерской и большим комьюнити.


Также у Zachtronics есть и другие игры, но они похожи друг на друга и напоминают перечисленные выше, что я не стал о них писать. Кто захочет познакомиться сам.


Ссылка на Steam: https://store.steampowered.com/app/504210/SHENZHEN_IO/

ASTRA-256 Assembler

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

После игр Зака, наткнулся на эту игру, которая делается уже усилиями наших разработчиков. Хотя это скорее не игра, а олд-скульный компьютер, или калькулятор, с возможностями программирования на Ассемблере. Также программа дает представление о том как работает железо компьютера. У проекта пока ранний доступ и не слишком много отзывов, но есть мастерская и подробная документация. Также рекомендую к ознакомлению.


Ссылка на Steam: https://store.steampowered.com/app/1260310/ASTRA256_Assembler/

Basic8

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

Если наелись Ассемблером, тогда вот вам старый-добрый Бейсик в новой обертке! Те, из вас, кто как и я в школьные годы пытались создать что-то свое при помощи этого языка, обязательно должны попробовать эту игру. Программа малоизвестна и у нее также маловато отзывов, пока что...


Ссылка на Steam: https://store.steampowered.com/app/767240/BASIC8/

Human Resource Machine и 7 Billion Humans

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

Эти 2 игры от авторов World of Goo я решил объединить под одним заголовком, потому что они очень похожи и являются более простыми играми на тему программирования. Подойдет даже ребенку. Хотя я не уверен, что под конец игры ваше чадо не будет с глазами красными от слез и кода =)) Также, может подойти, чтобы познакомиться с основами и скоротать несколько вечеров.


Ссылка на Steam: https://store.steampowered.com/app/375820/Human_Resource_Machine

Ссылка на Steam #2: https://store.steampowered.com/app/792100/7_Billion_Humans

while True: learn()

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

Нейросети, коты, программирование и приятный визуальный стиль - ядреная смесь! Ненапряжно, интересно, забавно. Если переиграли во все выше перечисленное, тогда посмотрите и данную игру.


Ссылка на Steam: https://store.steampowered.com/app/619150/while_True_learn/

Gladiabots

Во что поиграть программисту на карантине Программирование, Инди игра, Компьютерные игры, Подборка, Симулятор, Разработка, Длиннопост

Пока коты спят... как вам программирование ИИ боевых роботов с последующими гладиаторскими боями в одиночном режиме или в мультиплеере? Заинтересовало? Тогда обязательно посмотрите эту игру. Думаю, затянет вас надолго =).


Ссылка на Steam: https://store.steampowered.com/app/871930/Gladiabots/

Я ничего интересного не упустил? Возможно, вы в комментариях дополните список другими интересными проектами?

Показать полностью 5
383

Стартап на кузове машины

Работаю водителем, но — прошлое даёт о себе знать, — и потому кузов моей служебной машины в ожидании очередной мойки собственноручно расписан (в промежутках между разгрузками-загрузками) всякими умными словами, типа «PHP», «MySQL», «Python», «JQuery» и пр. На днях возвращаюсь к машинке и вижу, как двое юношей, — лет по 14 каждому, —сосредоточенно дополняют роспись. Подхожу.

— Что рисуем, художники?

— Ой, это ваша машина? Извините! Да мы увидели, что у вас тут языки программирования написаны, ну и решили дописать название своего, всё равно хуже не станет.

— Своего?! Какого своего?!

И тут ребята мне рассказывают, что при помощи языка Луэ они самостоятельно разработали свой язык программирования под названием Next. Дальше расспрашивать не стал — может, и зря, лишнего времени не было.

Ребята, если вы рассказали мне правду и читаете это на Пикабу — не бросайте это дело! Вы молодцы! Если ваш Next войдёт в обиход — обещаю изучить и даже что-нибудь на нём написать. Может, и с работы водителя соскочу когда-нибудь благодаря вам. Только документацию нормальную сделайте.

42

Сервис для перехода из 3D в 2D - наш, Российский...

Привет! Годами анимешники пытаются разорвать грани 2D мира. На реддите есть целый раздел посвящённый данным разработкам. Так вышло, что и я поучаствовал в схожем проекте.

Думаю, что многие из вас видели сайт selfie2anime. Он основан на открытом исходном коде и позволяет с помощью магии машинного обучения конвертировать фоточки в аниме.

Иногда выходит годно!

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Иногда кринжово не очень...

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Результат высылается на почту, что несколько устарело.

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Так вышло, что несколько моих друзей разбираются в машинном обучении. После пары недель нытья просьб одна из них запустила публичную модель и разработала к ней Android приложение. Вышло удобнее чем с сайтом. Особенно, когда работает...

Оказывается, вам не нужен большой IP, чтобы оказаться вдохновителем крутого сервиса!

Правда, после пары постов, появились первые установки, отзывы и понимание, что мир ещё не готов...

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

А ещё люди не читали инструкцию и публиковали туда всякие ~50 сантиметровые штуки. Угадайте, сколько пикабушников на 100 человек?

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Но кого остановит волна негатива? Не нас! Нужно найти проблему и решить её. (Даже, если это не так проблема)

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Можно заметить, что у получающихся картинок блеклые цвета. Это связано с тем, что нейросеть обучалась на старых аниме. Кроме того, у неё явные проблемы с тенями...

Поэтому, после моих настойчивых замечаний было решено потратить ещё немного времени на приложение и обучить его на современном аниме!

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Как идейный вдохновитель, графику должен был добыть я... Вы пробовали найти триста тыщ аниме голов? И чтобы эти головы были 2010+ года выпуска, да в достойном разрешении... Очень легко на самом деле - гуглите "Anime-Face-Dataset".

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

В идеале, стоило накачать рисунков из Printrest, как мне и советовали, но взять готовый архив проще же. Иногда я бываю СЛИШКОМ вдохновляющим - смог "продавить" простой путь =\

Итак, эти картинки загрузили в нейросеть и как-то поставили её учиться трансформировать 3D в 2D...

К сожалению, это РЕАЛЬНО оказался набор голов и других частей тела. Там не было фонов и их программа рисовать не научилась.

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Чтобы хоть как-то сгладить сиё недоразумение, в приложение была добавлена опция для ПоискЛицоОпределение. Теперь, люди, гордо загружающие себя в полный рост имеют хоть какой-то шанс увидеть достойный результат.

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

После обучения, картинки стали действительно выглядеть современнее. Но и достичь достойного результата стало сложнее из-за моего косяка с подбором данным для обучения.

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Новая сеть хуже различает цвета волос и глаз. Зато реже уходит в трип из-за теней и не путает число глаз. Это же важнее чем их цвет?

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Ну и конечно лучше работает с котиками o(≧▽≦)o

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Так и заканчивается эта история... (И не смотрите на текст ниже) Спасибо, если прочитали. Надеюсь, что она вас чему-нибудь научила. Планированию там... или игнорированию мнения вдохновляторов по выбору дата-сета для обучения. Надеюсь, что вы не ожидали тут какой-то эпик.

Я вдохновил подругу на создание забавного сервиса, который всё же не пришёлся людям по душе. Мы получили опыт, повеселились, слили денег на сервера и набили синяки - это жизнь 2D она или 3D. Некоторых вон вообще грузовики сбивают.

Сервис для перехода из 3D в 2D - наш, Российский... Аниме, Не аниме, Программирование, Разработка, Машинное обучение, Android, Личный опыт, Длиннопост

Если честно, боюсь, что промахнулся немного с сообществом, но про разработку я знаю только GameDev ._.


Напоследок оставлю чит-код для приложения, который отключает рекламу - PIKABU, чтобы его ввести, надо на главном экране зажать плашку с ссылкой на UGATIT.


Подруга моя, просьбы мои, тупые советы мои, тег ваш...


P.S. Нет. Это нельзя использовать в реальном времени на очках виртуальной реальности.

Показать полностью 12
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: