Pull to refresh
1
0
Алексей Ефремов @alekseyefremov

Пользователь

Send message

Таймер в .NET с интервалом 1 мс. Windows

Level of difficultyMedium
Reading time14 min
Views24K

Вы пишите код на платформе .NET под Windows и вам нужно выполнять некоторые действия каждую миллисекунду. Возможно ли это? Какие есть варианты и насколько они надёжны? Разберёмся, что можно использовать, и какие есть гарантии по точности срабатывания. Статья сконцентрирована на поиске такого решения, которое работало бы и под .NET Framework, и под .NET Core / .NET, и в разных версиях ОС, и являлось бы механизмом общего назначения (а не только для программ с GUI, например).

Читать далее
Total votes 70: ↑70 and ↓0+70
Comments83

CRUD операции с Blazor, .Net 6.0 и Entity Framework Core

Reading time12 min
Views14K

В этой статье мы создадим веб-приложение, используя Blazor, .Net 6.0 и Entity Framework Core для выполнения CRUD операций на базе Asp.Net Core.

В этом руководстве мы будем использовать Visual Studio 2022 и SQL Server 2014.

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments5

Retrieval Transformer в картинках

Reading time6 min
Views6.5K

Резюме: Новые языковые модели могут быть намного меньше GPT-3, но при этом достигать сравнимых результатов благодаря использованию запросов к базе данных или поиску информации в Интернете. Ключевая идея заключается в том, что построение все более и более крупных моделей — не единственный способ повысить качество.


Последние несколько лет ознаменовались появлением больших языковых моделей (Large Language Models, LLM) — моделей машинного обучения, которые способствовали быстрому развитию сферы машинной обработки и генерации естественного языка. Некоторые из основных вех развития области с 2017 года включают в себя:

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments0

Повышение скорости написания кода: Emmet и его использование в VSCode

Reading time6 min
Views77K

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

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments23

5 советов для C#-программистов, которые вы, наверняка, уже знаете

Reading time14 min
Views22K

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

Читать далее
Total votes 19: ↑13 and ↓6+7
Comments6

Использование рекуррентных нейронных сетей в Reinforcement Learning

Reading time12 min
Views9.8K
В задачах машинного обучения для обучения модели может использоваться известная целевая переменная (задачи такого типа называются «обучение с учителем»), либо модель самостоятельно учится находить закономерности с имеющихся данных, не имея заранее известные правильные результаты (такой тип задач называется «обучение без учителя»). Обучение с подкреплением (Reinforcement Learning, RL) не относится ни к первому типу, ни ко второму, однако обладает свойствами и того, и другого. Этот вид машинного обучения в настоящее время бурно развивается, разрабатывается множество теоретических алгоритмов RL [1], однако основная причина всплеска интереса заключается в множестве практических задач, в которых применяется RL, прежде всего в автоматизации, оптимизации и робототехнике. Обучение с подкреплением эффективно прежде всего там, где системе требуется анализировать окружающую среду и выбирать политику поведения с учетом получаемого отклика.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments4

Эмбеддинги признаков и повышение точности ML-моделей

Reading time7 min
Views37K

Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.

Создание эмбеддингов признаков (feature embeddings) — это один из важнейших этапов подготовки табличных данных, используемых для обучения нейросетевых моделей. Об этом подходе к подготовке данных, к сожалению, редко говорят в сферах, не связанных с обработкой естественных языков. И, как следствие, его почти полностью обходят стороной при работе со структурированными наборами данных. Но то, что его, при работе с такими данными, не применяют, ведёт к значительному ухудшению точности моделей. Это стало причиной появления заблуждения, которое заключается в том, что алгоритмы градиентного бустинга, вроде того, что реализован в библиотеке XGBoost, это всегда — наилучший выбор для решения задач, предусматривающих работу со структурированными наборами данных. Нейросетевые методы моделирования, улучшенные за счёт эмбеддингов, часто дают лучшие результаты, чем методы, основанные на градиентном бустинге. Более того — обе группы методов показывают серьёзные улучшения при использовании эмбеддингов, извлечённых из существующих моделей.

Эта статья направлена на поиск ответов на следующие вопросы:

1. Что такое эмбеддинги признаков?
2. Как они используются при работе со структурированными данными?
3. Если использование эмбеддингов — это столь мощная методика — почему она недостаточно широко распространена?
4. Как создавать эмбеддинги?
5. Как использовать существующие эмбеддинги для улучшения других моделей?

Читать далее
Total votes 9: ↑8 and ↓1+15
Comments5

Многозадачная модель T5 для русского языка

Reading time7 min
Views26K

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

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments5

Переписка со спамерами: избранное

Reading time4 min
Views69K

Конец XIV века, неизвестный автор: Комиссия ФАС изучает отмазки спамера.

Я радуюсь, получая спам – ведь у меня появляется новая возможность пополнить бюджет любимой страны (откуда берутся деньги на пенсии старикам, больницы, школы, домики для уточек и вот это вот все). Каждое полученное от спамеров сообщение я аккуратно пересылаю в ФАС, давая ей возможность пополнить бюджет на лишние 100-500 тысяч рублей, а потом наслаждаюсь материалами «расследований», проливающих свет на грязную подноготную «солидного бизнеса» и его подельников. Вранье, подтасовка документов и далее со всеми остановками – наслаждайтесь!
Читать дальше →
Total votes 361: ↑360 and ↓1+444
Comments187

PNG — краткое руководство по цвету

Reading time6 min
Views4.5K

Работая над багом под названием "разная цветокоррекция у видео и его скриншота", я наткнулся на интересный текст, простыми словами описывающий то, что происходит с цветом в PNG. Ниже представлен перевод приложения к спецификации PNG, которое может и устарело, но всё равно полезно для общего развития.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0

Асинхронные потоки от Стивена Клири

Reading time18 min
Views22K


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


Еще в 2019-м на нашей конференции DotNext Стивен рассказал об асинхронных потоках: чем они могут быть полезны, чем отличаются от существующих библиотек вроде System.Reactive и RxJS, а также как задействовать их в проектах.


Спустя пару лет этот доклад остается полезным — поэтому теперь, в преддверии нового DotNext, мы решили сделать для Хабра текстовый перевод доклада Стивена. Видео тоже есть под катом. Далее повествование будет от лица спикера.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments13

Подгонялка соотношения белков, жиров и углеводов

Reading time10 min
Views18K

В один прекрасный день я сидел и прикидывал в голове, сколько и чего надо съесть, чтобы получилось 30 гр. белка, 25 гр. жиров и 60 гр. углеводов. Из продуктов у меня были: гречка, яйца и авокадо.

Json (БЖУ указанно на 100 гр. сырого продукта):

{"Гречка": {"Белки": 11.7, "Жиры": 2.7, "Углеводы": 75}, "Яйца": {"Белки": 12.7, "Жиры": 11.5, "Углеводы": 0.7}, "Авокадо": {"Белки": 2, "Жиры": 15, "Углеводы": 9}}

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

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments18

Создаем GAN с помощью PyTorch

Reading time8 min
Views17K

Генеративно-состязательные сети (Generative Adversarial Networks — GAN), предложенные Goodfellow и др. в 2014 году, произвели революцию в области создания изображений в компьютерном зрении — никто не мог поверить, что эти потрясающие живые изображения на самом деле создаются машинами с нуля. И даже больше — люди раньше думали, что задача генерации невозможна, и были поражены мощью GAN, потому что традиционно в этой области просто не существует каких-либо эталонных данных, с которыми мы могли бы сравнить наши сгенерированные изображения.

В этой статье представлена ​​простая идея, лежащая в основе создания GAN, за которой следует реализация сверточной GAN с помощью PyTorch и процедура ее обучения.

Читать далее
Total votes 10: ↑8 and ↓2+10
Comments1

Развертывание ML модели в Docker с использованием Flask (REST API) + масштабирование нагрузки через Nginx балансер

Reading time5 min
Views16K

Как известно настройка и обучение моделей машинного обучения это только одна из частей цикла разработки, не менее важной частью является развертывание модели для её дальнейшего использования. В этой статье я расскажу о том, как модель машинного обучения может быть развернута в виде Docker микросервиса, а также о том, как можно распараллелить работу микросервиса с помощью распределения нагрузки в несколько потоков через Load balancer. В последнее время Docker набрал большую популярность, однако здесь будет описан только один из видов стратегий развертывания моделей, и в каждом конкретном случае выбор лучшего варианта остаётся за разработчиком.


Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments9

Docker для Data Scientist'a

Reading time5 min
Views12K

Часто у начинающих Data Scientists возникает вопрос, как демонстрировать работу своих моделей другим людям. Банальный пример - прикрепить ссылку на гитхаб репозиторий в отклике на вакансию или показать свое “детище” знакомым со словами “смотрите, что умею”.

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments6

«От категорий к векторам» или нестандартное кодирование категориальных данных. Часть 1

Reading time7 min
Views5.3K

Привет, Хабр! С вами Артём, аналитик больших данных МегаФона. На работе занимаюсь рекомендательными системами и интересуюсь NLP. Эти две вещи и привели меня к рассматриваемой тут теме, так что садитесь поудобнее, и поехали. Кстати, к статье прилагается код, ищите ссылки внутри.

В путь
Total votes 4: ↑3 and ↓1+5
Comments0

Алгоритм для рейтинга комментариев, поощряющий хорошие аргументы

Reading time4 min
Views6.2K

Сайты вроде Хабра, Пикабу, Реддита, и Hacker News имеют древовидные системы комментариев к постам. Зарегистрированные пользователи могут голосовать за комментарии. Сайты используют рейтинги комментариев двумя способами:

- Управляют вниманием читателей комментариев. "Лучшие" комментарии отображаются сразу под постом, "худшие" - в подвале. Хабр почти не управляет вниманием читателей: он лишь блюрит "плохие" комментарии, но не переупорядочивает их. Впрочем, я (как наверное и многие другие читатели) часто листаю комментарии только цепляясь взглядом за двузначное значение рейтинга.

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

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

Читать далее
Total votes 21: ↑17 and ↓4+19
Comments67

Фильтр Калмана: разбор навигационной системы БПЛА + исходный код

Reading time14 min
Views27K

В статье я бы хотел объяснить принципиальную разницу между фильтром Калмана (ФК) и классическими фильтрами, кратко рассмотреть преимущество выбранного ФК поделиться опытом использования данного ФК в во встраиваемой системе квадрокоптера для навигации на основе инерциального и ГНСС датчиков и поделиться исходным кодом с демкой для самостоятельного изучения.

Читать далее
Total votes 24: ↑22 and ↓2+29
Comments12

KeyClusterer 2.2 — Бесплатная кластеризация поисковых запросов

Reading time4 min
Views4.7K

Всем привет! Представляю вашему вниманию новую версию программы KeyClusterer, предназначенной для группировки семантического ядра методами Hard и Soft.


KeyClusterer 2.2
Читать дальше →
Total votes 4: ↑3 and ↓1+5
Comments7

Теория инвестиций для начинающих, часть 1

Reading time16 min
Views72K
Эдвард Мэтью Ворд. Пузырь Компании Южных морей. 1847 г. Галерея Тейт, Лондон.

В какие ценные бумаги вкладывать деньги? Как накопить на пенсию? Кто такие ETF’ы и почему все с ними носятся? Зачем покупать акции, если рынок может упасть? Такие вопросы я слышу от студентов и коллег, когда читаю лекции о деривативах. В принципе, неудивительно. Деривативы — это что-то далёкое из мира больших банков, а личные инвестиции намного ближе к телу.

Можно было бы ответить коротко: «Покупайте индексные фонды, это хорошо!» К сожалению, такой ответ не объясняет, почему это хорошо. Если бы я услышал его 15 лет назад, когда ещё не интересовался финансами, то он не нашёл бы отклика в моём сердце. Пришлось прослушать не один курс лекций, чтобы осознать, какая экономическая теория стоит за этим советом, и начать применять его на практике.

Собственно, моя статья — не столько инвестиционный совет (хотя я и расскажу о личном опыте и даже посчитаю свою «альфу»), сколько обзорный курс по теории инвестиций. Полезно знать, какие модели придумали предыдущие поколения, и в каких терминах можно думать об инвестициях. Если из теории следует, что имеет смысл покупать индексные ETF’ы, чтобы копить на пенсию — так и быть, расскажу и об этом.

Не секрет, что в финансах много математики. Я постарался соблюсти баланс. Я считаю, что интуитивное понимание главных экономических идей важнее, чем конкретная формула. Даже если вы пропустите вообще все формулы, то вы всё равно поймёте суть и получите полезные знания. С другой стороны, если вы хотели бы размять мозги не ахти какой сложной математикой, то у вас будет такая возможность.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments18

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity