Вроде бы неплохой туториал, подробный и с хорошими примерами. Но тема именно заголовка раскрыта не очень, зато подробно описана разница между алгоритмами степени (в контексте статьи - зочем?)
Сам я буквально три дня назад делал аналогично - создавал библиотеку через CMake. Однако основная проблема с которой я столкнулся, которую было относительно трудно решить, и которая не описана в статье - это разница между генерацией статических и динамических библиотек.
Я, буду честен, не до конца разобрался. Когда CMake генерирует екзешник для примеров - он использует .lib, соответсвенно надо генерить .lib. Но, кроме этого, мне была нужна .dll для использования потом через питон. И генерить надо обе штуки, а для этого мне потребовалось в хедеры добавлять дополнительные директивы DLLEXPORT, а тело кода обрамлять в неймспейс extern "c". Как я понял, потому что плюсовый компилятор при компиляции названия функций под капотом изменяет, но с данным экстерном - не изменяет.
И, вот я на самом деле мало разобрался с этим, что и почему и как. Работает и хорошо, типа того. Но с радостью почитал бы про такие вот нюансы, что как куда зачем и главное - почему, а не тысячную статью сравнения алгоритмов.
Если все начнут делать модели, кто будет писать инструмент работы с моделями? Писать так же через модели, делая обертку вокруг обертки? Я конечно понимаю, что вычислительных мощностей сейчас много, но не настолько же
Да и если мы утратим искусства низкоуровневой разработки, то в ту же секунду все пойдет по знакомому месту. Так что не нужно всем забывать про программирование, нормальные кодеры тоже нужны
Даже не важна на самом деле начинка. Как пользователь стимдека скажу, что самое важное в такой консоли - сенсорные тачпады. Это тот элемент, которые составляет 80% удобства использования. Даже если это будет супер начинка с суперским охлаждением (и тихим при этом), и суперской батареей - без тачпадов оно не взлетит.
Вообще, на андройдах есть фича "два раза нажать на кнопку разблокировки" для открытия камеры, причем работает заблокированным. Я когда достаю тедкфон, один палец у меня всегда оказывается на этой кнопке, поэтому два раза нажать пока достешь из кармана - несложно. И к моменту когда телефон в "достанном" состоянии - камера уже открыта и фоткай сколько хочешь
Я похожим образом изучаю японский. И вот что точно могу сказать - это то что для китайского и японского на пол года обязательно нужен репетитор, чтобы поставить письмо. Понять написание черт и иероглифов. Ну и в целом старт дать всему этому. Без сторонней квалифицированной помощи понять и осознать написание - ну либо пару лет собственного обучения, либо так никогда и не выйдете за пределы виртуальной клавиатуры.
А в остальном все в целом неплохо для самостоятельного обучения. Только, воспринимать это как гайдлайн для тебя, читающий мой коммент %юзер_нейм%, стоит с одним большим НО. Такое самообучение на 98% зависит от твоей собственной силы воли. А в остальном - ну если только развести холивар на тему "какой учебник лучше" или "учить слова через анки или через дуолинго"
Вообще то описаный вами подход звучит как работа и с данными, и с моделью
Не будет откровением, что подбирать модель при малых данных проще чем при больших данных - банально быстрее делать "первичное обучение". И как раз в этом и заключается работа с моделью. Самое главное тут это чтобы малые данные не были слишком "однобокими" по сравнению с большими аналогичными.
А потом уже на выбранной модели - полноценная работа с большими данными и прочим. Тут уже нужно много обучений на больших данных, но на первом этапе мы этого избежали.
Так что, нужно не что то одно из этой пары "оптимизация модели"/"оптимизация данных", а именно что идеальный баланс всего этого
Как раз таки, разница между умением решать алгоритмы и решением алгоритмов. Понимание и подход это как раз таки части уменря решать оные, а просто решать можно и по шаблону вообще не вдупляя что происходит. Поэтому именно умение решать и важно, а не решение само по себе
Я конечно извиняюсь, но так не бывает. Если с конкретного нуля - то там месяцев шесть нужно чтобы вникнуть (в лучшем, самом лучшем случае, эти 6 месяцев включают стажировку/испытательный, но в среднем, я бы на такое не надеялся бы)
Если уже со знанием, то это не совсем (точнее совсем не) с нуля, и там, опять же, без негатива, но заголовок слишком кричащий но слишком кричайщий и не слишком подходящий.
Но в целом, имхо, как минимум последовательность обучения неплохая. За конкретные курсы не скажу, но порядок наименований которые я читал звучат неплозо для вкатывания в тему.
Шанс выбить 20 подряд решку а потом орла - действительно 1/2^21. Выбить 21 раз подрчд выбить решку - тоже 1/2^21. Поэтому, мысль что мол "ч накопил вероятность и вот на 21ый раз выбить %любая_сторона% настолько мизерна что я выбью %дркгая сторона%" не работает, ибо за предыдущие 20 бросков вы уже попали в событие, которое одно на 2^20.
Поэтому, если хотите высчитыватт вероятность с учетом того, что уже было выкинуто - это допустимо. Но только не стоит забывать про ту самую вероятность, с которой вы пришли из начального положения в текущее. Делаешь 21ый бросок, и говоришь мол 20 подряд - не забывай учитывать вероятность попасть туда куда ты попал в результате этих 20 бросков.
Вот бы они починили веб-версии телеграмов. А то регулярно то /a/ не прогркжает новые сообщения, то /k/, видео вообще только в 20% случаев грузится, через какую из версий сегодня можно отправить любой файл - примерно как с юсб, сначала не работает в одной версии, пробуешь другую - тоже самое, пробуешь снова первую - опа, заработало.
Как будто они специально делают обе веб версии максимально ущербными и неработающими, чтобы все ставили десктопные
Вот когда хотя бы что нибудь смешанное из двух базовых функций (синус+квадрат например) сможет оптимизировать на задаче из миллиона точек - тогда и поговорим. А на основе решения того, что и ребенок осилит руками делать выводы о "пугающей тенденции" - ну камон, не слишком серьезно
Скажу за себя. Как человек, который учится в маге, работает по верхней планке джуна в мск и еще занимается наукой получая в два раза больше чем на "основной работе".
Все что нужно - невероятное везение. Мне невероятно повезло что я смог пойти научным работником в бакалавриате, и сейчас по факту учусь в своем же департаменте на магистратуре. Еще, кстати, мне повезло с тем что магистратура вечером, ибо один мой знакомый не смог работать в офисе и одновременно на дневной маге учиться. А еще мне повезло с "основной" работой - полная удаленка и по факту я выполняю 40 часов задач за 15-20.
И все это удается совмещать, причем не забывать про легкий спорт (часовые прогулки по утрам), отдых и сон, хорошее питание и прочее. Кстати, живу один, и готовлю тоже сам. И, в общем, единственная формула такого успеха - должно нереально повезти. Ну и второй пункт, конечно очень важный, это нужно быть достаточно квалифицированным, чтобы не пропустить удачу. Конечно, пункт не актуален, если не повезет.
Вся остальная ерунда про лайфтайм и прочее - оно конечно важно, но если поступишь в дневную магистратуру и работу в офисе с переработками, то как ты там себе канбаны не расписывай - ничего не выйдет.
Скажу лично за себя. У меня строение мозга такое, что я вижу в "иностранных" языках - формулы. В своем "нативном" русском я тоже вижу эти самые "формулы", но, благодаря богатейшему опыту от рождения, могу делать понятные конструкции мимо этих самых конструкций, чутка "делая исключения из правил".
И, как по мне, любой язык - это смесь условно ста формул, которые нужно зазубрить, и вокабуляра. Иногда нужно дополнительно доучить нюансы, например, написание иероглифов в азиатских языках.
В итоге, с таким подходом, я выучил на "быдло-разговорном" уровне японский и итальянский, английский - уже давно болтаю чуть ли не на уровне натива в повседневке, только вокабуляра чутка нехватает, в середине изучения синдарина и немного взялся за французский.
Но, повторюсь, не посоветую всем такой подход, потому что, как бы ни звучало, тут нужен люто "алгоритмический" склад ума, чтобы в "деепричастие всегда обособляется запятыми, причастие только перед глаголом" уметь увидеть формулу и уметь "применить" её. Алсо, это не будет супер-разговорный язык, НО это будет понятный язык для носителей, и вайс-верса, будет на 80% понятен язык носителей, кроме прям лютого сленга.
"С нуля" есть прекрасная пара статей, довольно старая, но ни капли не устаревшая:
https://habr.com/ru/articles/312450/ и https://habr.com/ru/articles/313216/
Там прекрасно описаны основы, как и из чего состоят нейронные сети, и дают прекрасный фундамент для собственноного дальнейшего эксперементирования.
"Побольше статей" - спорное утверждение, ибо, "для начинающих" там много не напишешь, а если все сейчас ринутся писать, то это будет туева хуча однотипных статей, и, хоть и полезность одной такой статьи будет неплохой, но суммарная полезность всех таких статей не вырастет ни капли.
Эх, я конечно не против какого бы там нибфло языка программирования - все важны, все нужны, но... (как в анекдоте: я конечно не расист, но...)
В общем, насколько же приятнее разбираться с питоном, даже с поверхностью его начинки, зная и !понимая! си и/или плюсы. Эту статью можно сократить вполовину, просто сказав "в питоне все переменные - указатели на объекты".
Кроме того, статья ну очень похожа на АИ-сгенерированную. Тот же раздел про поколенческий подход - там по сути дела ни одного слова нету, а все абзацы начинаются с похожих слов. Да даже если это и рукописная статья, то в любом случае, воды столько, будто диплом писали.
Бегло прочитал, честно скажу, что до самой сути не докопался, но насколько я понял, это все же не чистая интерпритация, а именно скрипты. Тобишь вопрос в потерях эффективности все еще открытый, ибо у питона в блокноте никакой потери нет (я не учитываю расходы на непосредственно блокнот, ибо это не зависит от языка что там что в котлине)
Тетрадка позволяет исключить этапы перекомпиляция и перезапуск
А вот насчет этого очень даже интересно, как там оно под капотом, ведь питон - интерпретируемый, и ему формат блокнота нормально, а вот котлин - компилируемый, и действительно ли в блокноте он магическим образом превращается в интерпретируемый, или не все так радужно...
Вроде бы неплохой туториал, подробный и с хорошими примерами. Но тема именно заголовка раскрыта не очень, зато подробно описана разница между алгоритмами степени (в контексте статьи - зочем?)
Сам я буквально три дня назад делал аналогично - создавал библиотеку через CMake. Однако основная проблема с которой я столкнулся, которую было относительно трудно решить, и которая не описана в статье - это разница между генерацией статических и динамических библиотек.
Я, буду честен, не до конца разобрался. Когда CMake генерирует екзешник для примеров - он использует .lib, соответсвенно надо генерить .lib. Но, кроме этого, мне была нужна .dll для использования потом через питон. И генерить надо обе штуки, а для этого мне потребовалось в хедеры добавлять дополнительные директивы DLLEXPORT, а тело кода обрамлять в неймспейс extern "c". Как я понял, потому что плюсовый компилятор при компиляции названия функций под капотом изменяет, но с данным экстерном - не изменяет.
И, вот я на самом деле мало разобрался с этим, что и почему и как. Работает и хорошо, типа того. Но с радостью почитал бы про такие вот нюансы, что как куда зачем и главное - почему, а не тысячную статью сравнения алгоритмов.
Если все начнут делать модели, кто будет писать инструмент работы с моделями? Писать так же через модели, делая обертку вокруг обертки? Я конечно понимаю, что вычислительных мощностей сейчас много, но не настолько же
Да и если мы утратим искусства низкоуровневой разработки, то в ту же секунду все пойдет по знакомому месту. Так что не нужно всем забывать про программирование, нормальные кодеры тоже нужны
Даже не важна на самом деле начинка. Как пользователь стимдека скажу, что самое важное в такой консоли - сенсорные тачпады. Это тот элемент, которые составляет 80% удобства использования. Даже если это будет супер начинка с суперским охлаждением (и тихим при этом), и суперской батареей - без тачпадов оно не взлетит.
Вообще, на андройдах есть фича "два раза нажать на кнопку разблокировки" для открытия камеры, причем работает заблокированным. Я когда достаю тедкфон, один палец у меня всегда оказывается на этой кнопке, поэтому два раза нажать пока достешь из кармана - несложно. И к моменту когда телефон в "достанном" состоянии - камера уже открыта и фоткай сколько хочешь
Я похожим образом изучаю японский. И вот что точно могу сказать - это то что для китайского и японского на пол года обязательно нужен репетитор, чтобы поставить письмо. Понять написание черт и иероглифов. Ну и в целом старт дать всему этому. Без сторонней квалифицированной помощи понять и осознать написание - ну либо пару лет собственного обучения, либо так никогда и не выйдете за пределы виртуальной клавиатуры.
А в остальном все в целом неплохо для самостоятельного обучения. Только, воспринимать это как гайдлайн для тебя, читающий мой коммент %юзер_нейм%, стоит с одним большим НО. Такое самообучение на 98% зависит от твоей собственной силы воли. А в остальном - ну если только развести холивар на тему "какой учебник лучше" или "учить слова через анки или через дуолинго"
Вообще то описаный вами подход звучит как работа и с данными, и с моделью
Не будет откровением, что подбирать модель при малых данных проще чем при больших данных - банально быстрее делать "первичное обучение". И как раз в этом и заключается работа с моделью. Самое главное тут это чтобы малые данные не были слишком "однобокими" по сравнению с большими аналогичными.
А потом уже на выбранной модели - полноценная работа с большими данными и прочим. Тут уже нужно много обучений на больших данных, но на первом этапе мы этого избежали.
Так что, нужно не что то одно из этой пары "оптимизация модели"/"оптимизация данных", а именно что идеальный баланс всего этого
Как раз таки, разница между умением решать алгоритмы и решением алгоритмов. Понимание и подход это как раз таки части уменря решать оные, а просто решать можно и по шаблону вообще не вдупляя что происходит. Поэтому именно умение решать и важно, а не решение само по себе
Я конечно извиняюсь, но так не бывает. Если с конкретного нуля - то там месяцев шесть нужно чтобы вникнуть (в лучшем, самом лучшем случае, эти 6 месяцев включают стажировку/испытательный, но в среднем, я бы на такое не надеялся бы)
Если уже со знанием, то это не совсем (точнее совсем не) с нуля, и там, опять же, без негатива, но заголовок слишком кричащий но слишком кричайщий и не слишком подходящий.
Но в целом, имхо, как минимум последовательность обучения неплохая. За конкретные курсы не скажу, но порядок наименований которые я читал звучат неплозо для вкатывания в тему.
На самом деле все обьясняется очень просто:
Шанс выбить 20 подряд решку а потом орла - действительно 1/2^21. Выбить 21 раз подрчд выбить решку - тоже 1/2^21. Поэтому, мысль что мол "ч накопил вероятность и вот на 21ый раз выбить %любая_сторона% настолько мизерна что я выбью %дркгая сторона%" не работает, ибо за предыдущие 20 бросков вы уже попали в событие, которое одно на 2^20.
Поэтому, если хотите высчитыватт вероятность с учетом того, что уже было выкинуто - это допустимо. Но только не стоит забывать про ту самую вероятность, с которой вы пришли из начального положения в текущее. Делаешь 21ый бросок, и говоришь мол 20 подряд - не забывай учитывать вероятность попасть туда куда ты попал в результате этих 20 бросков.
Вот бы они починили веб-версии телеграмов. А то регулярно то /a/ не прогркжает новые сообщения, то /k/, видео вообще только в 20% случаев грузится, через какую из версий сегодня можно отправить любой файл - примерно как с юсб, сначала не работает в одной версии, пробуешь другую - тоже самое, пробуешь снова первую - опа, заработало.
Как будто они специально делают обе веб версии максимально ущербными и неработающими, чтобы все ставили десктопные
Вот когда хотя бы что нибудь смешанное из двух базовых функций (синус+квадрат например) сможет оптимизировать на задаче из миллиона точек - тогда и поговорим. А на основе решения того, что и ребенок осилит руками делать выводы о "пугающей тенденции" - ну камон, не слишком серьезно
Скажу за себя. Как человек, который учится в маге, работает по верхней планке джуна в мск и еще занимается наукой получая в два раза больше чем на "основной работе".
Все что нужно - невероятное везение. Мне невероятно повезло что я смог пойти научным работником в бакалавриате, и сейчас по факту учусь в своем же департаменте на магистратуре. Еще, кстати, мне повезло с тем что магистратура вечером, ибо один мой знакомый не смог работать в офисе и одновременно на дневной маге учиться. А еще мне повезло с "основной" работой - полная удаленка и по факту я выполняю 40 часов задач за 15-20.
И все это удается совмещать, причем не забывать про легкий спорт (часовые прогулки по утрам), отдых и сон, хорошее питание и прочее. Кстати, живу один, и готовлю тоже сам. И, в общем, единственная формула такого успеха - должно нереально повезти. Ну и второй пункт, конечно очень важный, это нужно быть достаточно квалифицированным, чтобы не пропустить удачу. Конечно, пункт не актуален, если не повезет.
Вся остальная ерунда про лайфтайм и прочее - оно конечно важно, но если поступишь в дневную магистратуру и работу в офисе с переработками, то как ты там себе канбаны не расписывай - ничего не выйдет.
Я так понял, работает только с монгой и редисом? Мускул или постгрес из коробки не подключить? Насколько сильно "в кишки" придется лезть для этого?
Скажу лично за себя. У меня строение мозга такое, что я вижу в "иностранных" языках - формулы. В своем "нативном" русском я тоже вижу эти самые "формулы", но, благодаря богатейшему опыту от рождения, могу делать понятные конструкции мимо этих самых конструкций, чутка "делая исключения из правил".
И, как по мне, любой язык - это смесь условно ста формул, которые нужно зазубрить, и вокабуляра. Иногда нужно дополнительно доучить нюансы, например, написание иероглифов в азиатских языках.
В итоге, с таким подходом, я выучил на "быдло-разговорном" уровне японский и итальянский, английский - уже давно болтаю чуть ли не на уровне натива в повседневке, только вокабуляра чутка нехватает, в середине изучения синдарина и немного взялся за французский.
Но, повторюсь, не посоветую всем такой подход, потому что, как бы ни звучало, тут нужен люто "алгоритмический" склад ума, чтобы в "деепричастие всегда обособляется запятыми, причастие только перед глаголом" уметь увидеть формулу и уметь "применить" её. Алсо, это не будет супер-разговорный язык, НО это будет понятный язык для носителей, и вайс-верса, будет на 80% понятен язык носителей, кроме прям лютого сленга.
"С нуля" есть прекрасная пара статей, довольно старая, но ни капли не устаревшая:
https://habr.com/ru/articles/312450/ и https://habr.com/ru/articles/313216/
Там прекрасно описаны основы, как и из чего состоят нейронные сети, и дают прекрасный фундамент для собственноного дальнейшего эксперементирования.
"Побольше статей" - спорное утверждение, ибо, "для начинающих" там много не напишешь, а если все сейчас ринутся писать, то это будет туева хуча однотипных статей, и, хоть и полезность одной такой статьи будет неплохой, но суммарная полезность всех таких статей не вырастет ни капли.
Эх, я конечно не против какого бы там нибфло языка программирования - все важны, все нужны, но... (как в анекдоте: я конечно не расист, но...)
В общем, насколько же приятнее разбираться с питоном, даже с поверхностью его начинки, зная и !понимая! си и/или плюсы. Эту статью можно сократить вполовину, просто сказав "в питоне все переменные - указатели на объекты".
Кроме того, статья ну очень похожа на АИ-сгенерированную. Тот же раздел про поколенческий подход - там по сути дела ни одного слова нету, а все абзацы начинаются с похожих слов. Да даже если это и рукописная статья, то в любом случае, воды столько, будто диплом писали.
Бегло прочитал, честно скажу, что до самой сути не докопался, но насколько я понял, это все же не чистая интерпритация, а именно скрипты. Тобишь вопрос в потерях эффективности все еще открытый, ибо у питона в блокноте никакой потери нет (я не учитываю расходы на непосредственно блокнот, ибо это не зависит от языка что там что в котлине)
Не думали в опенсорс открыть и приделать возможность плагинов добавлять?
А вот насчет этого очень даже интересно, как там оно под капотом, ведь питон - интерпретируемый, и ему формат блокнота нормально, а вот котлин - компилируемый, и действительно ли в блокноте он магическим образом превращается в интерпретируемый, или не все так радужно...
Автор, объясните пожалуйста, чем ваш алгоритм отличается от алгоритма обхода дерева в глубину, кроме как "новомодным" названием?