LINUX.ORG.RU
ФорумTalks

Стопами Дейкстры

 ,


3

3

В свое время Дейкстра запретил оператор goto и это очень положительно сказалось на культуре программирования. Вспомните классический Бейсик где управляющих конструкций было фактически две - условный переход и безусловный переход, а все циклы работали через метки. Помимо приведения циклов в божеский вид отказ от обязательного использования меток имел и другие последствия, опять же сугубо положительные - появилась возможность нормально использовать локальные переменные, стали использоваться исключения и т.д.
А ведь до нашего времени дожил еще атавизм, убивающий всю читабельность - цикл for. Самое смешное, что в современных языках он не нужен и даже вреден. Цикл for плохо распараллеливается. Вложенные циклы очень сильно снижают читабельность кода, при том что делают что-то тривиальное - например складывают массивы.
Господа, если язык в 21м веке требует для сложения двух матриц писать цикл, а не складывать их тупо как два числа - a+b, то язык говно. Уже больше 30 лет по планете шагает ООП, оно же позволяет переопределять операторы и делать продвинутые типы данных даже если язык изначально говно. Вспоминаем Вирта - «программы = алгоритмы + структуры данных».Отказ от for научил бы лиц, называющих себя программистами, что структуры данных это не только скалярные переменные и, в лучшем случае, списки и строки.
Когда нужен именно цикл, периодическое выполнение команды, то есть итераторы и их аналоги (вроде функции apply в R), опять же, for не нужен. Да, может найтись 1% случаев, когда применение for оправдано, но ведь и goto до сих пор используют там, где это действительно нужно.

★★☆☆☆

В толчок ходить себе запрети, запрещатор. Вместо for будут использовать while круто, да? Да и for мало используют для перебора коллекций чаще мелькает foreach, а на всяких js методы с итераторами.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)

Цикл for плохо распараллеливается.

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

crutch_master ★★★★★
()

Господа, если язык в 21м веке требует для сложения двух матриц писать цикл, а не складывать их тупо как два числа - a+b, то язык говно.

И что? Для каждого частного случая применения цикла написать оператор/тип данных и вкорячить это в язык?

crutch_master ★★★★★
()
Ответ на: комментарий от tailgunner

Да? Ну как скажешь.

Так и скажу :)

Не юли

Ай люли. «Одно дело жаргон гетто» — сам придумал? Просторечие — это всего лишь «низкий штиль», но он тоже «плохой, негодный, приличные люди так не говорят». Алсо английский токой разный... А потом человеки Шекспира открывают, или Библию короля Якова — у них вообще крышу сносит («это тожы английский? местоимение „ты“ есть?») :)

в любом приличном курсе дают просторечные и сокращенные варианты выражений - типа ain't и gonna.

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

slackwarrior ★★★★★
()
Ответ на: комментарий от crutch_master

Написать оператор O_O — пусть те кто читают все делают литсом O_O.

slackwarrior ★★★★★
()
Ответ на: комментарий от ixrws

Вы в эмбед промышленный лезли хоть?

Это немалая статья моих доходов. :)

Там такие же макаки. Сравнивать надо людей и конторы, а не отрасли.

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

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

Вот это и есть следствие проникновения недоязычков и фреймворков для вебмакак в эмбеддед. Да и перечисленное к промышленному эмбеддед вообще почти не относится. Вот какой-нибудь ЭБУ для ДВС, или там фирмварь для Bluetooth девайса - это эмбеддед. Туда писателей морд для банкоматов и автоматов для выдачи напитков пока ещё не пускают.

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

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

Stanson ★★★★★
()
Ответ на: комментарий от Deleted

в данном случае с циклами, распараллеливание — сахар на уровне компилятора.

anonymoos ★★★★★
()
Последнее исправление: anonymoos (всего исправлений: 1)
Ответ на: комментарий от slackwarrior

«Одно дело жаргон гетто» — сам придумал?

Да ты упорот в хлам:

slackwarrior> ain't no и прочие «эбониксы»

Ebonics Any of the nonstandard varieties of English spoken by African Americans.

А потом человеки Шекспира открывают, или Библию короля Якова — у них вообще крышу сносит

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

В остальном потоке сознания разбираться влом.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от DNA_Seq

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

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

quickquest ★★★★★
()
Ответ на: комментарий от Stanson

Но в общем и целом, да, спектроанализатор можно переквалифицировать в переводчики.

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

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

В данном случае он вложил абсолютно все «популярные» мифы в значение слова.

Solace ★★
()
Ответ на: комментарий от Rastafarra

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

double ref[n] с величиной отражения для каждой длины волны и double con[m] с соответствующими концентрациями пигментов. Т.е. почти всему, что ты способен представить в виде двух массивов double эту штуку можно обучить. Для обучения переводу, можно, например, каждое слово представить в виде значения double. Давая закодированные таким образом фразы на вход и обучая соответствующим фразам на выходе, можно получить более-менее годную переводилку. Оно даже с некоторой вероятностью сможет корректно переводить фразы которым его не обучали. Количество слов, конечно, будет ограничено (там внутри всё-же линейная математика и надо дистанцировать «слова» друг-от-друга), но, перевод оно осилит. В том числе в варианте когда в одном языке порядок слов не важен, а в другом строго определён.

Как я уже говорил, не всё так просто, на самом деле, но в минимальном варианте оно таки будет работать. :)

Stanson ★★★★★
()
Ответ на: комментарий от tailgunner

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

Суть Web-development:

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

Результат тормозит и вызывает раздражение.

2. Код ужасен, везде используются собственные самописные велосипеды и наколеночные недофреймворки под единственную задачу, всё это пишется разными людьми, которые никогда не слышали о Coding Conventions, а конечный результат наводнён XSS и прочей дрянью.

Результат тормозит и вызывает раздражение.

Суть Embedded:

1. Код наполнен собственноручно написанными велосипедами в обход стандартных, потому что они либо не устраивают, либо о них просто не знают. В этот код прикладному программисту заглядывать страшно: куча копипасты, односимвольных переменных и излюбленного приёма эмбеддерщиков: «пишу код так, чтобы его понимал только один человек в мире — я». Несмотря на адище внутри, всё это как-то без проблем собирается и даже неплохо работает.

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

2. Код, что редкость для проекта в Embedded, легко и приятно читать, он хорошо продокументирован, а после его прочтения в голове возникает стройная концепция того, как собственно всё это работает.

Не тормозит.

------------

С результатами трудов как Web-программистов, так и Embedded-разработчиков мы сталкиваемся каждый день. Действительно, нельзя сказать однозначно, чьими плодами мы пользуемся чаще, так как Интернет немыслим без первых, а электроника (не только встраиваемая, но и PC: дисплеи/HDD/SSD и т. д.) без вторых.

Вот только результаты работы Embedded'рщиков гораздо меньше раздражают сферического пользователя (если ему не суждено копаться в их коде, конечно), в отличие от плодов работы огромного числа Web-программистов. А следовательно, первая часть утверждения:

где больше макак и копипаста - в вебе или эмбеде.

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

EXL ★★★★★
()
Ответ на: комментарий от EXL

Не пиши столько текста - ты в нем сам путаешься. Вот это:

Если бы тормозило, то заказчик/работадатель отправил бы на доработку

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

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от EXL

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

Stanson ★★★★★
()
Ответ на: комментарий от tailgunner

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

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

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

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

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

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от EXL

Короткая бессмыслица - гораздо лучше, чем длинная.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

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

Заказчика веба не волнуют тормоза вообще. Никогда. Иначе бы веб сегодня выглядел бы совершенно иначе и летал бы на первопне с полгигом памяти.

А тормозящий эмбеддед == неработающее железо которое никто никогда не купит. Поэтому заказчика эмбеда торомза волнуют чуть ли не в первую очередь.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Т.е. почти всему, что ты способен представить в виде двух массивов double эту штуку можно обучить.

т.е. ты нагенерил ей два массива и теперь задавая индекс получаешь элементы? :)

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

стало быть она не такая уж и «нейросеть»?

Rastafarra ★★★★
()
Ответ на: комментарий от Quasar

На суперкомпьютерах как раз перекладывание байтиков очень актуально

Нет. Обычная суперкомпьютерная числодробильня - разнообразное колдунство над очень большими матрицами, то есть прямолинейная линейная алгебра с векторными операциями и MPI'ными посылками. Даже в старину были blas/lapack/scalapack и прочие intel mkl, а хранение данных в бинарном формате рассказывается просто чтобы сильно не промахиваться с блоками и правильными последовательности, никакого байто*ства.

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

aedeph_ ★★
()
Ответ на: комментарий от tailgunner

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

Короткая смыслица: тормозные сайты сегодня не слишком большая редкость, а тормозные прошивки у МК или встраиваемые устройства — достаточная редкость.

Хотя зачем я это тебе пишу? Лучше сорву покровы: ведь ты соприкасаешься с Embedded'ом, а в этом топике просто «траллируешь», правда, непонятно кого: своих коллег-эмбеддерщиков или Web-макак, а может быть и всех вместе. А цель, надо полагать, у тебя благородная: чтобы и там и там разРАБы писали код без копипасты и Stack Overflow Driven Development.

EXL ★★★★★
()
Ответ на: комментарий от Rastafarra

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

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

aedeph_ ★★
()
Ответ на: комментарий от Stanson

Заказчика веба не волнуют тормоза вообще. Никогда.

Заказчика (что веба, что эмбеддед) волнует возможность продать продукт. Если для этого нужен лишний гигабайт или 8051 вместо 8048 - его поставят.

А тормозящий эмбеддед == неработающее железо которое никто никогда не купит.

Понты такие понты.

tailgunner ★★★★★
()
Ответ на: комментарий от EXL

Хотя зачем я это тебе пишу?

Поставь вопрос иначе - зачем вообще ты пишешь заведомую чушь? Так я отвечу на этот вопрос - потому «Everything you do is fuckup^Wtrolling».

Лучше сорву покровы: ведь ты соприкасаешься с Embedded'ом, а в этом топике просто «траллируешь»

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

tailgunner ★★★★★
()
Ответ на: комментарий от slackwarrior

Я против обобщений «раз много высокоуровневого, то нужное 1% долой»

Сам придумал, сам споришь. Хотя до истинных шизофреников пока еще далеко.

DNA_Seq ★★☆☆☆
() автор топика
Ответ на: комментарий от tailgunner

я в нем работаю

Ты видишь всю трагедию своими глазами, а для меня она скрыта в шустром и стабильно работающем blob'е.

пишешь заведомую чушь

Факт остаётся фактом:

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

Это я тебе, как пользователь того и другого говорю.

Почему же ты с этим споришь? Здесь я могу только догадываться. Возможно, ты давно перестал посещать различные популярные общетематические сайты и твой Web-сёрфинг, помимо вечерних посиделок на ЛОРе, ограничивается какими-нибудь lkml.org, kernel.org, developer.arm.com, reddit.com, easyelectronics.ru, electronix.ru и прочими творениями старой-доброй Web-школы, когда лендинги и Material Design были уделом странных и малочисленных групп, называемых себя дизайнерами.

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

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Да ну.

11 февраля 1991 года Patriot Project Office получил израильские данные о дефекте в ракетной системе Patriot. Они нашли, что, если система работает 8 часов, она начинает мазать на 20%. Они прикинули, что после 20 часов работы система начинает промахиваться настолько, что перестанет быть способной захватывать, отслеживать и поражать баллистические ракеты. Американские военные не приняли во внимание всю важность открытия, заявив, что система предназначена для портативных и краткосрочных защитных операций и что никто никогда не будет использовать систему больше 8 часов.

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

21 февраля военные выпускают указание, что система не должна работать «долго». Военные не уточнили сколько длится «долго».

25 февраля в Дахране (Саудовская Аравия) в казарму в гости к американцам прилетела баллистичекая ракета «керосинка» (она же Р-17, она же Scud). 28 убито 96 ранено, потому что ЗРК «Патриот» промахнулся из-за программной ошибки.

26 февраля Bug Fix был доставлен в Дахран.

DNA_Seq ★★☆☆☆
() автор топика
Ответ на: комментарий от EXL

Ты видишь всю трагедию своими глазами

«Horror... horror...» (ц)

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

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

tailgunner ★★★★★
()
Ответ на: комментарий от Rastafarra

т.е. ты нагенерил ей два массива и теперь задавая индекс получаешь элементы? :)

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

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

Нет, оно вообще не так работает. Грубо говоря, оно там внутри себя строит взаимосвязи всего со всем и потом согласно этим взаимосвязям выдаёт результат. Очень приблизительно - там унутре несколько слоёв. Каждый слой состоит из кучи узлов. У каждого узла есть куча входов и один выход. Куча входов суммируется с некими коэффициэнтами и подаётся на вход функции. Её выход передаётся следующим слоям. На вход узла могут подаваться не только выхлопы узлов предыдущего слоя, но и выхлопы следующих слоёв (я, правда, это не использую, у меня сеть просто «последовательная»). Обычно количество узлов первого слоя равно числу входных параметров, а количество выходных узлов равно числу выходных параметров. Количество узлов в промежуточных слоях может быть как больше, так и меньше количества входных параметров. В процессе обучения весовые коэффициэнты узлов подгоняются для получения правильных ответов на выходе при заданных обучающих паттернах на входе.

стало быть она не такая уж и «нейросеть»?

Самая натуральнейшая нейросеть с сигмоидом в качестве функции и одним скрытым слоем (для моей задачи больше и не нужно).

Stanson ★★★★★
()
Ответ на: комментарий от EXL

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

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

DNA_Seq ★★☆☆☆
() автор топика
Ответ на: комментарий от tailgunner

Я не просто соприкасаюсь с эмбеддедом - я в нем работаю.

Крайне маловероятно, ибо ты посчитал эмбеддедом банкоматы и торговые автоматы. :) Если ты занимаешься ими - то ты весьма далёк от реального хардкорного эмбеддед. :)

Stanson ★★★★★
()
Ответ на: комментарий от DNA_Seq

То есть, если бы программное обеспечение этой самой системы Patriot было бы написано на высокоуровневом ЯП, где не было бы никакого байтоперекладства, то всё было бы просто супер? Я правильно понял твой ход мыслей?

Tommy не даст соврать.

Вот тебе тогда ещё смешная байка, которую нам давно-давно рассказывали в универе:

Фирма Motorola испытывала новый процессор для автопилота на истребителе в Израиле. Все было отлажено. Пилоты на испытаниях отправились «огибать рельеф» с севера до юга Израиля. Истребитель прекрасно пролетел на автопилоте над равнинной частью, над горной частью, над долиной реки Иордан, и приближался к Мёртвому морю. Не долетев до него, неожиданно происходит общий сброс процессора, автопилот выключается на полном ходу, пилоты переходят на ручное управление, и сажают истребитель.

Процессор отправили на доработку и тестирование. Все тесты прошли снова без сбоев. Снова начали реальную проверку. Истребитель пролетел над всеми территориями, но при подлете к Мёртвому морю: общий сброс, выключение автопилота, ручная посадка.

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

EXL ★★★★★
()
Ответ на: комментарий от Stanson

Крайне маловероятно, ибо ты посчитал эмбеддедом банкоматы и торговые автоматы. :)

Я? У тебя всё в голове перепуталось.

Но забавно было бы услышать твое определение эмбеддеда. Подозреваю «подергать ногами на заданной частоте».

tailgunner ★★★★★
()
Ответ на: комментарий от aedeph_

Ой, пестонолюбцы в тред про циклы пожаловали :) Научились уже заменять в примерах из интернетика хомяк /home/jonny на свой, или всё так же копипастите и ничего не работает?

Stanson ★★★★★
()
Ответ на: комментарий от EXL

В 1991м году? Тогдашние большие компы это ультрабюджетный emdedded по нынешним меркам. В роутерах давно по 128 метров ОЗУ ставят чтобы вафля не тормозила.

DNA_Seq ★★☆☆☆
() автор топика
Ответ на: комментарий от tailgunner

Я? У тебя всё в голове перепуталось.

Да, действительно перепутал.

Но забавно было бы услышать твое определение эмбеддеда. Подозреваю «подергать ногами на заданной частоте».

Совершенно не обязательно. Но дёрганье ногами туда тоже входит.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

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

в «процессе обучения» ты лезешь под капот в свою сеть...?

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

в «процессе обучения» ты лезешь под капот в свою сеть...?

Нет. В этом и фишка. Что там унутре происходит при обучении и как там всё устаканивается я понятия не имею. Даже никогда весовые коэффициэнты не выводил на посмотреть, ибо всё равно смысла никакого нету - по ним ничего толком не выяснишь.

Лазанье под капот нейросети заключается либо в замене функции, либо в изменении количества узлов в промежуточных слоях. Это может влиять на скорость обучения, например, или конечную точность обученной системы, но не на само обучение. Можно ещё коэффициэнт back-propagate попытаться подобрать - влияет на то, насколько «жёстко» будет происходить обучение. Вот, собственно и всё лазанье под капот. Я только количество узлов в скрытом слое подбирал, причём потом уже, когда и так всё работало, просто чтобы обучалась на несколько тысяч эпох быстрее.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Можно ещё коэффициэнт back-propagate попытаться подобрать - влияет на то, насколько «жёстко» будет происходить обучение.

Не нужно, оптимайзеры давно умеют это сами.

Solace ★★
()
Ответ на: комментарий от Solace

Не нужно, оптимайзеры давно умеют это сами.

А сцылок? Или там тупые итерации, пока оптимум не найдётся?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

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

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

где ты эту нейросеть взял? линк?

Rastafarra ★★★★
()
Ответ на: комментарий от Stanson

А сцылок?

Прости, не понял? Ссылку? http://sebastianruder.com/optimizing-gradient-descent/index.html#rmsprop

Или там тупые итерации, пока оптимум не найдётся?

Посмотри на RMSProp. Там немного хитрее.

Solace ★★
()
Последнее исправление: Solace (всего исправлений: 1)
Ответ на: комментарий от Rastafarra

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

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

где ты эту нейросеть взял?

Сам сделал. Это ж как два пальца об асфальт. 221 строка сишечки с шахматами и поэтессами.

линк?

Ну например http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html для общего развития.

Stanson ★★★★★
()
Ответ на: комментарий от Solace

Прости, не понял? Ссылку? http://sebastianruder.com/optimizing-gradient-descent/index.html#rmsprop

Ага, теперь понятно. Надо будет на досуге изучить.

Посмотри на RMSProp. Там немного хитрее.

Угу, есть над чем подумать, хотя, в общем-то, и так всё более чем годно вышло.

Stanson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.