Обновить
547.05

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Классификация изображений в облачной системе Google Colab

Уровень сложностиСложный
Время на прочтение43 мин
Охват и читатели11K

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

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

Читать далее

Учим нейросеть принимать решения на основе уже известного опыта (на примере Шахмат и загруженного датасета)

Время на прочтение15 мин
Охват и читатели12K

Учим нейросеть играть в Шахматы, загрузив в нее датасеты уже сыгранных партий с известным результатом.

То есть никакого минимакса, деревьев и расчетов на несколько ходов вперед.
Идея в том, что если в нейросеть загрузить много партий, уже сыгранныx другими игроками, то нейросеть будет знать, как поступали другие игроки в соответствующих случаях и к какому результату это приводило. Нейросеть обобщит имеющийся опыт и будет делать ход на основе уже известного опыта и выявленных закономерностей, причем делать ход «мгновенно».

Читать далее

5 полезных библиотек Python (с примерами)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели37K

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

Ознакомиться

Как создание бинарного классификатора открыло ящик Пандоры в стандартах владения английским языком

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели17K

Владение английским языком принято оценивать по системе CERF (Common European Reference Framework), состоящей из шести уровней, где уровень A1 – начинающие, а уровень С2 – профессионально владеющие иностранным языком. Международный уровень С2 часто позиционируется как “уровень образованного носителя”, и получение соответствующего сертификата зачастую является либо заветной мечтой, либо предметом гордости преподавателя-лингвиста.

Однако я не встречала в научной литературе доказательства полного соответствия уровня С2 уровню владения английским как родным. На самом деле, среди ученых нет единого мнения о том, возможно ли вообще изучающим язык достичь уровня, идентичного владению языком как родным (вот две статьи с практически одинаковым названием и противоположными выводами [1; 2]). Проведя небольшой опрос в одной из соцсетей, я увидела, что большинство моих коллег-преподавателей английского в глубине души все-таки считают, что «между уровнем носителя и уровнем С2 – бездна». Хотя были и те, кто выбрал вариант, что С2 – это действительно уровень образованного носителя.

Так есть разница или нет? Я решила разобраться, рассмотрев для начала всего лишь один аспект владения языком – письменную речь. О своем эксперименте, в котором не обошлось без искусственного интеллекта, я и хочу рассказать.

Вначале я создала опрос на Google Forms и предложила 17 русскоговорящим коллегам следующий челлендж: определить, написан ли английский текст носителем языка (британцем) или русскоязычным автором с уровнем английского С1-С2. Всего было 20 текстов. К исследованию приглашались эксперты с большим опытом проверки студенческих эссе и чтения оригинальных текстов, но, тем не менее, задача оказалась не из простых. Подсчитав вручную метрики, получаем: Accuracy = 0.6617; Precision = 0.6627; Recall = 0.6588; F1 = 0.66. Замечу, что этот опрос я также предлагала коренным британцам (пока только троим), и ...

Читать далее

Работа памяти в Python

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели11K

Python - интерпретируемый язык программирования, поэтому перед выполнением код транслируется в машиночитаемые инструкции - байт-код. Байт-код интерпретируется виртуальной машиной, определяемой реализацией языка, например, стандартной - CPython.

Python не взаимодействует с памятью - только с её виртуальным представлением. В процессе выполнения программы операционная система создаёт процесс и выделяет под него ресурсы. В отличие от С/С++ мы не можем управлять памятью из кучи напрямую, а делаем это посредством memory manager, который и обращается к памяти через Python/C API.

Читать далее

ChatGPT в роли стримера

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели17K

В прошлом году мне выдалась возможность поиграться c ChatGPT от OpenAI, однако практические применения, которые приходили мне в голову, оказались слишком сложными для реализации моими неполноценными студенческими знаниями, из‑за чего мысли ушли сугубо в использовании нейронок в развлекательных целях.

Чуть позже широкую огласку получил ИИ‑стример Neuro‑sama, созданный vedal987.

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

Читать далее

API Честный знак как получить ключ сессии

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели46K

Привет habr!

Хочу поделиться опытом работы с API системы маркировки товаров «Честный Знак» (ЧЗ) / МДЛП (маркировка лекарственных препаратов), в части выгрузки статистических данных.

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

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

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

Итак, по порядку…

Читать далее

Что, где, откуда: извлекаем реляционный датасет из JSON

Время на прочтение6 мин
Охват и читатели3.9K

Привет, Хабр!

Меня зовут Жеронкин Антон, я Data Engineer и участник профессионального сообщества NTA. Сегодня я расскажу как адаптировать и загрузить датасет, представляющий из себя около 5 млн. статей и связанных с ними сущностей, с сохранением при адаптации всех связей между ними.

Читать далее

Пагинация в telegram-боте для чайников

Время на прочтение8 мин
Охват и читатели24K

В телеграм бот нужна пагинация но все не понимаешь как ее сделать? Читай эту статью, станет понятно!

Читать статью

Как я проводил обратную разработку таинственного UDP-трафика в гостиничном номере

Время на прочтение3 мин
Охват и читатели36K
Всем привет! Я на какое-то время поселился в гостинице. Гостиница из современных, с умными телевизорами и всякими другими подключенными устройствами. Меня одолело любопытство, и я открыл Wireshark, как сделал бы на моем месте любой любитель покопаться в технике.

Я был очень удивлен, когда увидел большое количество UDP-трафика на порте 2046. Взглянул на него, но много толку это не дало – порт оказался не из стандартных, так что разбираться предстояло вручную.

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

Как я делал ChatGPT бота в Salebot и ничего не вышло

Время на прочтение4 мин
Охват и читатели11K

Данная статья описывает моё знакомство с ChatGPT на уровне API и интеграцию с платформой создания ботов Salebot.

Давно занимаюсь сборкой ботов в Salebot и на Python, и я не мог просто пройти мимо ChatGPT и её API (модель GPT 3). Но, во время изучения API, меня понесло дальше, невозможно было остановиться на GPT 3. Вот какие задачи я себе поставил.

Читать далее

Пишем нейросеть для сегментации снимков со спутника

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели12K

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

Читать далее

«Топ 10» популярных мужских профессий в столице и регионах в 2023 году

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели16K

Мир не стоит на месте. На смену многим мужским профессиям, что были актуальны полвека назад, приходят новые и более современные. Если раньше нас сковывали рамки малоразвитых технологий и выбор будущей профессии был невероятно мал, то сейчас есть где разгуляться. В преддверии праздника всех мужчин я задумался, а какие профессии, мы мужчины 2023 года, выбираем. Как известно, столица всегда отличалась от периферии и уровнем развития, и доходом, и мне стало интересно, чем наш выбор в данных городах отличается. Отслеживать резюме я решил на сервисе по поиску работы, из столичных городов взял Москву и Санкт-Петербург, в регионе Тверь и Иваново.  Анализ я провел в программе по аналитике данных своей компании, загрузив туда данные из резюме. На первом этапе я выделил самые популярные профессии в Москве и Санкт-Петербурге, ими стали водитель, менеджер, инженер, специалист, кладовщик, юрист, администратор, шеф-повар, управляющий и замыкает десятку профессия начальник участка.

Читать далее

Ближайшие события

Python, Django и немного защиты кода

Время на прочтение4 мин
Охват и читатели12K

Привет, Habr! Компания, в которой я работаю, занимается системами умного дома и видеонаблюдения. Услуга работает по форме SaaS. Но недавно было решено продавать и локальное решение. За основу «коробки» было решено взять облако, немного его переделать и вот готов новый продукт…

С переездом с облачных «рельс» возник ряд вопросов. Один из них в том, что весь проект написан на Python‑ язык интерпретируемый на лету и не защищенный от копирования от слова совсем. Второй момент, что в проекте используется Django. Фреймворк со своими зависимостями, которые еще аукнулись нам в процессе поиска решений. То с чем мы столкнулись и к чему пришли далее в статье.

Читать далее

Как подружить Celery и SqlAlchemy 2.0 с асинхронным Python

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели14K

Недавно, я столкнулся с задачей, когда с проекта на Python нужно было стряхнуть пыли и заставить работать чуточку производительнее. В следствии чего монолит был распилен на микросервисы, а брокером между сервисами стали всем знакомый RabbitMQ и такой же старый как сам Python - Celery. Проект был перенесен с Django на FastAPI, который по-моему субъективному мнению является идеальным решением для любых бэкендов на Python. Проблема с которой я столкнулся во время подключения Celery описана в данном посте.

Читать далее

Data Fusion Contest 2023. Для опыта и не только… Соревнование от ВТБ с призовым фондом в 2 млн рублей

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели2.1K

Я, как новичок, наблюдаю за всем происходящим вокруг, и замечаю, что тренд на IT-специальности огромный. Множество курсов заманивают обещаниями о работе с высокой зарплатой, но спустя полгода после окончания курсов вы понимаете, что на "рынке" полно таких же как вы без опыта, а всем нужны профессионалы. Знакомо?

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

В настоящее время проходят два соревнования по машинному обучению с крупным призовым фондом, однако на одном из них такая высокая конкуренция, что для достижения чего-либо нужно тратить на это 24 часа в сутки. Второе же соревнование, Data Fusion Contest 2023, не получило достаточного внимания, хотя формат соревнования непривычный. Это турнир по Adversarial ML между командами атакующих и защищающих ML-моделей на транзакционных данных и содержит две задачи:

? В задаче Атака участники будут создавать атаки на нейросеть, обученную на данных транзакций. 

Читать далее

CutTheLog – когда он слишком большой

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели2.7K

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

А давайте!

Создаем библиотеку теории игр на питоне: как вообще это будет работать?

Уровень сложностиПростой
Время на прочтение19 мин
Охват и читатели4.2K

Сделаем наброски примеров кода работы с python-библиотекой решения задач методами теории игр (как если бы библиотека была полностью готовой). Напишем очередной класс Очередь Игроков. А ещё поддадимся модной тенденции и спросим совета у ChatGPT-3...

Это [уютный, ламповый] пет-проект автора статьи.

Читать далее

Как разработать канбан-доску на Django, DRF и Alpine.js

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели15K

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

В статье рассказываем, как разработать собственную канбан-доску и развернуть ее на облачном сервере. Подробности под катом.
Читать дальше →

Создаем композитные виджеты в Qt из уже имеющихся ⦁ Python + PySide2

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.5K

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

Читать далее

Вклад авторов