Задать вопрос
  • Как оптимизировать алгоритм SlopeOne в python?

    Maksim_64
    @Maksim_64
    ML Engineer
    По скольку нет полного датафрейма я не могу полностью сформировать рабочий ответ. Но основываясь на вашем коде вот какая главная мысль.
    Не каких for в pandas абсолютно любой функционал выполним без циклов. (либо напрямую) любой массив в pandas уже векторизован. либо посредством функций apply или agg (первая поэлементно выполнит вами написанную функцию) , вторая агрегирует, то есть на вход получит массив на выход одно число например (mean, std) и.т.д. Но главный вывод не каких циклов pandas устроен так что ты никогда не используешь циклы для обработки данных. (только для работы с индексами иногда применяют циклы), но никогда с данными. Это очень сильно ускорит код.
    Ответ написан
    Комментировать
  • OpenCV не видит камеру. Что делать?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    cam = cv.VideoCapture(1)

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

    Вот мы и дожили до времён, когда "программисты" не знают с чего начинается нумерация массивах и коллекциях
    Ответ написан
    1 комментарий
  • OpenCV не видит камеру. Что делать?

    Vindicar
    @Vindicar
    RTFM!
    Сколько камер на том компе, где не работает?
    Потому что параметр VideoCapture() - это, условно, номер камеры в списке камер. Если на компе только одна камера, то номер должен быть 0, если две, то номера будут 0 и 1, и так далее.
    Способа открыть камеру по имени сам opencv не предоставляет, хотя вроде есть сторонние пакеты, которые это исправляют - в плане получения списка камер в том же порядке, в каком их индексы будут использоваться VideoCapture().
    Ответ написан
    1 комментарий
  • Почему программа возвращает ошибку unterminated string literal?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, PyCharm - это не интерпретатор. Во-вторых, с ним всё в порядке, как и с интерпретатором. Проблема в том, что строковый литерал нельзя разрывать переводом строки.
    Ответ написан
    Комментировать
  • Почему if else не работает?

    flapflapjack
    @flapflapjack
    на треть я прав
    Попробуйте так
    --if gender == MALE or FEMALE:
    ++if gender == MALE or gender==FEMALE:


    У вас идет проверка на истинность сравнения gender с MALE, либо если FEMALE - истина. А так как FEMALE != false, выражение всегда истинно.
    Ответ написан
    Комментировать
  • Как сделать поворот фигуры?

    @AlexSku
    не буду отвечать из-за модератора
    Почитайте формулы книги по 3D, вектор (посл. коорд.=0) или точка (посл. коорд. = 1) умножается на матрицу 4х4 (вектор и точка имеют длину 4).
    Есть три стандартные матрицы поворота вокруг осей X, Y, Z. Есть матрица поворота вокруг произвольной оси.
    Можно ещё поворачивать кватернионами.
    Ответ написан
    2 комментария
  • Как начать работать с OpenAI gym?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    хватит ли математики за 8 класс для начала обучения в области ИИ

    Нет, не хватит.
    Нужно как минимум уметь оперировать матрицами, а в 8 классе, этому не учат. По крайней мере, моя дочка в 8 классе и до матриц им ещё далеко.
    Ответ написан
    2 комментария
  • Как просуммировать интервал чисел?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это называется арифметическая прогрессия. Ее сумма считается очень просто. Там и циклы не надо.
    Ответ написан
    2 комментария
  • Как преобразовать код из js в python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Изучить оба языка, проанализировать js-код, вычленить алгоритм, реализовать его на Python.
    Ответ написан
    7 комментариев
  • Какие существуют популярные библиотеки/фреймворки для создания нейросетей и машинного обучения для C++?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Нейросети под питон это С++ с API под питон, на уровне питона скорость не нужна, возьми да полож данные из одного места в другое, настрой параметры, а дальше питон дернет ядро либы на С++ и будет скорость

    Если хочется писать вообще все на С++ то это будет НАМНОГО сложней (я знаю, ведь я пытался), думаю ты уже погуглил нейросетевые либы на С++ и обнаружил "разнообразие", если ты задаешь вопрос тут, потому что не смог найти решение, и если тебе даже посоветуют решение из недр интернета о котором никто не слышал, то какое у него будет комьюнити? У кого спросишь совета как решить проблему в либе про которую никто не знает? Как долго разработчики будут исправлять критичный баг на который ты нарвался и который остановил твою работу дальше?

    Пока ты будешь запускать тот же TensorFlow на С++ неделями, я за день напишу питон скрипт и просто запущу его из С++, и это будет работать одинаково

    Попробуй вот как, напиши сначала на питон нейросеть и запускай свое питон приложение из С++, а потом попробуй переписать на TensorFlow С++ API, и в процессе боли, страданий и потери времени поймешь, что это дает только боль, страдание и потерю времени

    Не стоит забывать, что стоит подбирать инструменты под задачу, а не натягивать все на один свой любимый инструмент
    Ответ написан
    3 комментария
  • Почему не получается установить библиотеку dlib?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    dlib максимум 3.6 Python поддерживает.
    Думаю, правильно будет создать виртуальное окружение (например virtualenv), pycharm это делает особенно удобно; и в нем поставить нужную версию python и остальные нужные библиотеки ставить там же. И там же писать код.

    Также со слов Евгений Шатунов надо убедиться, что
    должна стоять нагрузка на разработку C++ приложений с использованием cmake.
    - как я понял, как раз об этом писали в большом транспаранте в traceback.
    Ответ написан
    3 комментария
  • Почему при использовании with open не добавляются в сравнение отрицательные числа?

    Vindicar
    @Vindicar
    RTFM!
    Ну во-первых, почему вначале read(1)? Это читает один символ, а не одну строку, так что если у тебя более 10 чисел в файле, работать будет некорректно.
    Во-вторых, isdigit() проверяет, что строка содержит только цифры. Знак "-" цифрой не является. Поэтому твой код такие строки игнорирует.
    Ответ написан
    3 комментария
  • Как подрезать слово(переменную) в python с двух сторон?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    • Отложить ботошлепство
    • Потратить некоторое время на изучение основ языка
    • Вернуться к задаче
    Ответ написан
    3 комментария
  • SyntaxError: invalid syntax почему?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    В коде нет отступов.
    Ответ написан
  • Только начал свое знакомство с Python. Вроде бы код верный, но высвечивается ошибка. В чем может быть проблема?

    Vindicar
    @Vindicar
    RTFM!
    Во-первых, это неверно. map() принимает два аргумента: функцию, которую нужно применить, и коллекцию, к которой её применяем. Ты, к тому же, скобку не закрыл.
    a,b,n=map(float(input().split())
    Надо так:
    a,b,n=map(float, input().split() )

    Во-вторых, по-моему, у тебя кривой расчёт. ИМХО, проще всего рассчитать цену книги в копейках, а потом уже отталкиваться от этого.
    price_kop = 100 * a + b
    total_kop = price * n
    total_gr, total_kop = divmod(total_kop, 100)
    print(total_gr, total_kop)
    Ответ написан
    Комментировать
  • Как определить размер объекта на фото при помощи python?

    Vindicar
    @Vindicar
    RTFM!
    Смотри в сторону OpenCV. Какой конкретно метод - зависит от искомого объекта: один ли он в кадре, насколько он контрастен по отношению к фону, насколько много на нём контрастных деталей, и т.д.
    Есть template matching для случаев, когда видимый размер и ориентация известны. Работает для нескольких объектов.
    Есть feature matching, для случаев, когда объект только один и имеет контрастные, узнаваемые элементы, но может быть разного размера и ориентации.
    Есть каскады Хаара (или тут) для поиска множества объектов известной ориентации, но с варьируемым размером.
    Есть backprojection, если объектов несколько, но они имеют характерный, узнаваемый набор цветов.
    Копай, разбирайся, выбирай.

    Если же вопрос в том, чтобы определить масштаб снимка, то тут самый простой способ - использовать шахматный шаблон с заранее известным размером ячейки и числом строк/столбцов. Тогда можно будет оценить расстояние между углами шаблона в пикселах, и сопоставить его с размером объекта в том же кадре. Заодно можно будет попробовать исправить перспективные искажения (попробовать переделать снимок в "вид строго сверху").
    Ответ написан
    5 комментариев
  • Как проверить наличие прозрачных пикселей?

    sotvm
    @sotvm
    Умный поймёт, а дураку и так всё равно.
    читать заголовки файлов, если pnga = есть , если просто png = быть не может
    Ответ написан
    3 комментария
  • Не работает условие Python, SQLite как решить и почему?

    fenrir1121
    @fenrir1121
    Начни с документации
    chat_verification = {message.chat.id}
    check = cursor.execute(f"SELECT chat_id FROM chat_id_table WHERE chat_id ='{chat_verification}' AND verification = 1

    Вооружайтесь принтами и смотрите что вы наговнокодили в этих двух строчках.
    Примерно каждый второй вопрос в SQLite сводится к ответу не используйте f строки в SQL запросах
    И вы вообще осознаете какой тип данных у chat_verification?

    В целом если 10 строчек кода требуют двух вопросов на хабре берите за привычку разбираться какими данными и типами данных вы манипулируете. Не работает - запускаете отладчик или принтуете и смотрите соответствуют ли данные и типы данных вашим ожиданиям.
    Ответ написан
  • Как распаковать вложенный список?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Наверное, надо проверять элемент исходного списка, является ли он списком, и только тогда распаковывать?
    Если уровень вложенности у нас один, то так и написать
    chained = []
    for item in posl:
        if isinstance(item, list):
            for subitem in item:
                chained.append(subitem)
        else:
            chained.append(item)

    Это будет самый кондовый алгоритм. Задачу можно реализовать и короче, и оптимальнее. Но при изучении программирования надо сначала научиться составлять самому простейшие алгоритмы и их реализовывать, а не просто пытаться использовать по очереди какие-то магические заклинания - авось какое-то сработает. А если не сработает - то идти на Хабр, чтобы тебе его написали.
    Любой красивый код следует применять только тогда, когда ты понимаешь, как он работает, что делает внутри. А если не понимаешь, то лучше сначала разобраться, реализовать тот же алгоритм руками. Иначе ты будешь не программист, а обезьяна с гранатой.

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