• Как подсчитывать на видео проходящих людей по головам?

    @rPman
    Боюсь ты не найдешь готовых решений
    Мало того, тут нужно искать размеченный датасет голов людей и радоваться этому богатству

    Решение для тебя - берешь несколько сотен тысяч видео (разные времена года), нанимаешь десяток человек в помощники и садишься размечать, затем берешь готовые решения по нейронкам, арендуешь на недельку себе кластер с gpu или на месяц другой игровую видеокарту и вперед с примерами от pytorch пилишь результат.

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

    p.s. после того как ты на все это портатишь от нескольких сотен тысяч рублей до миллионов, к тебе подойдет такой же как ты сейчас и скажет, а дай мне готовые веса твоей нейронки... куда ты его вежливо пошлешь?
    Ответ написан
    1 комментарий
  • Как работает этот код?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    context = {}
    
    last_command_use_time = context.get(user[0].id) # Возвращает время последней команды пользователя или None, если нет значения
    
    if not last_command_use_time or (datetime.datetime.now() - last_command_use_time).seconds > 10: # проверяет, что last_command_use_time  - None (т.е. данных о юзере нет) или с момента обращения прошло больше 10 секунд
    
        # команда
    
        context[user[0].id] = datetime.datetime.now() # Записывает текущее время использования команды
    
    else:
        # сообщение о том что нужно подождать

    И как можно получить время которое осталось до следующей возможности выполнения команды?

    Намекну - в строке с if есть почти готовый кусок, который нужно чуть изменить.
    И да, судя по тому, что вы не можете прочесть элементарный код - отложите болошлепство и почитайте учебник.
    Ответ написан
    Комментировать
  • Как мне получить результат из асинхронной функции?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ключевое слово await
    myvar = await myfunc()

    Ключевое слово await указывает, что при выполнении следующего за ним выражения возможно переключение с текущей сопрограммы на другую или на основной поток выполнения.
    Соответственно выражение после await тоже не простое, это должен быть awaitable объект.
    Ответ написан
    2 комментария
  • Как можно сделать виртуальную «флешку», которая будет отображаться в проводнике windows 10?

    hint000
    @hint000
    у админа три руки
    На винде есть родная (не требующая что-то устанавливать) команда subst, запускается с параметрами из командной строки и создаёт "диск" из локальной папки.
    Той же командой с другими параметрами можно удалить такой "диск".
    https://ru.wikipedia.org/wiki/Subst
    Кстати, это способ из 90-х годов, ныне почти забытый.

    Можно из Python'а выполнить системную команду.
    Ответ написан
    4 комментария
  • Можно ли эмулировать нажатие на кнопку на сайте библиотекой Бютифул суп?

    Maksim_64
    @Maksim_64
    Data Analyst
    beatifulsoup это парсер для html и xml документов. И к нажатиям кнопок не имеет никакого отношения от слова совсем.
    Ответ написан
    1 комментарий
  • Можно ли эмулировать нажатие на кнопку на сайте библиотекой Бютифул суп?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    На Авито эту кнопку сделали как раз для того, чтобы парсеры обламывать.
    Ответ написан
    2 комментария
  • Почему метод get не работает в цикле?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вы предлагаете нам гадать тут на кофейной гуще?
    Никаких входных данных, по которым можно было бы судить о причине неработоспособности вашего кода вы не предоставили.
    Я могу перечислять возможные причины вечно!
    - может быть в index.html мало или нет данных
    - возможно вы неправильно ищете элементы в html
    - некорректно сформирована ссылка с пагинацией (кстати. почему не пользуетесь параметрами, а лепите в урл?)
    - сайт имеет защиту от скачивания тпым перебором чисел, может быть ему нужен еще какой-то формальный параметр
    - вы не находите куда сохраняется результирующие файлы из-за непонимания что такое текущий каталог
    - вы не дожидаетесь ваших 10 секундных таймаутов
    - вы не в тот каталог смотрите в поисках результатов
    - как-то не так запускаете и не видите ошибок, например с доступом.

    С учетом того, что вы даже сюда скопировали код как-то косо и косо подменили куски строк в коде на плейсхолдеры, может быть что угодно из перечисленного
    Ответ написан
    Комментировать
  • Возможно ли написать сайт на питоне?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Да. но отдавать вам придётся все равно html, просто вы его будете сами генерировать
    Ответ написан
    Комментировать
  • Как создать перемнную для каждого пользователя?

    GavriKos
    @GavriKos
    Держать массив/файл/бд с соответствием "айди юзера - группа"
    Ответ написан
    Комментировать
  • Как поменять global на return в коде? Как сделать, чтобы все сообщения от пользователя из разных функций передавались в последнюю функцию?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Зачем у вас тег JIRA в этом вопросе, если вопрос никакого отношения не имеет к ней?
    Ваша проблема в том, что вы не знаете языка, на котором пытаетесь писать. Вернее даже не писать, а исправлять что-то уже написанное.

    global - это инструкция, которая объявляет переменную в функции глобальной на уровне модуля. return - это инструкция. позволяющая вернуть из вункции значение в точку вызова.
    Вы пишете бота, и функции, задекорированные как обработчики событий от библиотеки для работы с протоколом мессенджера, не вызываются вами в коде непосредственно. Нет никакого смысла, чтобы эти функции что-то возвращали. Там, где они вызываются в недрах библиотеки их результаты не будут никем востребованы.
    Здесь использованы глобальные переменные для сохранения результатов рботы хендлеров. По-хорошему нужно создать объектный контекст для этих хначений, сохранять отдельный контекст для каждой сессии общения бота с каждым человеком, но судя по вашему вопросу, вам всё это еще рано.

    Просто правильный ответ на ваш вопрос будет не понят, или придётся объяснять с самых азов, или решать за вас вашу проблему, чему противореит суть данного ресурса.
    Тут готовы помочь, что-то пояснить, ответить на конкретные вопросы, но не делать за кого-то чужую работу и не формировать индивидуальные курсы питона с нуля. С этим надо идти во фриланс.
    Ответ написан
    Комментировать
  • Как решить ошибку RuntimeWarning: Enable tracemalloc to get the object allocation traceback?

    @igor6130
    Вы запускаете асинхронные функции как синхронные. В ошибке об этом сказано.
    Ответ написан
    3 комментария
  • Как правильно сделать структуру базы данных?

    Masterbeard
    @Masterbeard
    Люблю бывать там, куда Макар телят не гонял.
    Вы хотите сказать что mariadb не поддерживает связь между таблицами "Один-ко-многим"?
    Давайте посмотрим как организовать связь между таблицей "Wine" и таблицей "Grape". В каждой из этих таблиц есть поле с уникальным идентификатором "wine_id" и "grape_id". Создадим таблицу "grapes_to_wine" в которой будем хранить "wine_id" и "grape_id". Связываем таблицы по схеме: таблица "Wine" связана с таблицей "grapes_to_wine" по полю "wine_id" отношением "один ко многим" и таблица "Grape" связана с таблицей "grapes_to_wine" по полю "grape_id" отношением "один ко многим". В итоге получаем структуру при которой к каждому элементу таблицы "Wine" мы можем соотнести любое количество элементов таблицы "Grape".
    Как то так.
    Ответ написан
    4 комментария
  • Почему при запуске скрипта Python пишет это?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Возьмите и переведите последнюю строку.
    Ответ написан
    Комментировать
  • Как оптимизировать задачу?

    GigaLORDex
    @GigaLORDex
    Бизнес-Системный аналитик
    Я бы еще уточнил по бизнес-процессу, а действительно ли надо каждые 6 часов дергать всех клиентов и запрашивать по ним, как вариант, можно пойти таким путем:
    - Первично дергаем всех клиентов (50к) и проверяем на долг.
    - Далее каждые 6 часов запросом дергаем только тех клиентов, по которым были взаиморасчеты. (ведь в базе могут быть клиенты, с которым взаиморасчеты уже 5 лет никто не вёл, они исторически там лежат, зачем по ним каждый раз запрашивать)
    Ответ написан
    Комментировать
  • Как в Python перевести string в bytes, не меняя string?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Если вы хотите сохранить в БД бинарные данные. то у вас есть три варианта:
    1) Хранить в БД данные в поле типа binary blob. В таком поле может храниться произвольный набор байтов, он не птается преобраховаться в строку при работе.
    2) Хранить в БД экранированную строку в поле обычного строкового типа. При этом все непечатные и спец-символы должны быть экранированны специальной последовательностью, которая состоит из печатных обычных символов. Тогда нужно перед испольованием полученных из БД данных разэкранировать строку и получить байты.
    3) Можно хранить данные в БД в обычном текстовом или текстовом blob-поле, но в виде закодированно последовательности base16 или base64. В base64 каждые два байта кодируются тремя символами из 64-битного набора печатных символов. Нужно кодировать и декодировать такие строки при сохранении\загрузке.

    Вам больше всего подходит base64. Посмотрите в документации как с этим работать
    Ответ написан
    4 комментария
  • Почему попытка обратиться к только что созданной таблице вызывает ошибку "no such table"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Слушай автор давай табличку по другому переделаем. Вот так

    CREATE TABLE IF NOT EXISTS warning(id INT, user_id INT, count INT);


    А то твое изделие зашкварно совсем.
    Ответ написан
    Комментировать
  • Проверка, инвентаризация и аудит Linux машин, как можно узнать про установленный софт?

    Adamos
    @Adamos
    Платный софт перебиранием /usr/bin искать бесполезно.
    Например, IDE от JetBrains (как образец платного софта) - это тупо папка, которая может лежать где угодно, программа запускается лежащим в этой папке скриптом.
    Может быть, имеет смысл искать не установленный софт, а - запускавшийся? Получая список файлов и папок в "хомяке" пользователя (в частности, ~/.config, ~/.local и т.п.), где уж платные-то программы непременно создадут свои записи.
    Ну, и с Wine, конечно, отдельная песня...
    Ответ написан
    1 комментарий
  • Создавать телеграм ботов на С# или Python?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    В вакууме да, на python может быть чуть проще (и то далеко не факт).
    Однако написание ботов в целом довольно комплексная и не самая простая задача. Поэтому если знаете основы шарпа то пишите на шарпе - в противном случае параллельно с написанием бота придется заново учить синтаксис, что сводит на нет даже потенциальное различие в сложности.
    Ответ написан
    1 комментарий
  • Как в python вывести график на основе данных?

    MrShandy
    @MrShandy
    Python
    Ну вот раз в N недель/дней/часов парсишь цену, заносишь время и цену в базу данных, а уже потом рисуешь график
    Вот, например, статья на хабре https://habr.com/ru/post/468295/
    Ответ написан
    Комментировать
  • Как создать язык программирования?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Как создать свой язык программирования?

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

    Без другого языка программирования! Полностью с нуля.

    В самом низу находится машинный код. Выглядит примерно вот так:
    08 04 83 fa 08 04 83 fb 08 04 83 fd 08 04 84 00
    У каждого процессора есть свой набор инструкций, которые кодируются машинным кодом. Открываем справочник и пишем нужный код для нужной ОС/железа. Ничего сложного, правда же? =)

    Ведь как-то создали первый ЯП.

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

    Так что в вашем случае вам надо пройти весь этот путь самостоятельно. Примерно так:
    1. На машинном коде реализовать минимальный ассемблер
    2. Используя свой минимальный ассемблер реализовать простейший компилятор этого ассемблера
    3. Расширить компилятор ассемблера до стандартного набора инструкций
    4. На ассемблере реализовать транслятор и компилятор ЯП высокого уровня
    5. Реализовать необходимый набор инструкций для написания компилятора этого же ЯП
    6. Написать этот самый компилятор своего ЯП на нём же и далее уже скомпилировать первую самостоятельную версию своего ЯП без использования других ЯП
    Ответ написан
    3 комментария