Виртуальная примерочная
PF-AFN - это нейронная сеть, которая генерирует изображения людей в разной одежде.
Модель принимает на вход изображение человека и изображение одежды. На выходе модель дает изображение, на котором целевой человек носит одежду. Нейронная сеть обходит предыдущие подходы, основанные на модели сегментации человеческих частей и в итоге предлагаемая модель дает более реалистичные результаты.
Нейросеть написана на python и находиться в свободном доступе на github
https://github.com/geyuying/PF-AFN
PF-AFN - это нейронная сеть, которая генерирует изображения людей в разной одежде.
Модель принимает на вход изображение человека и изображение одежды. На выходе модель дает изображение, на котором целевой человек носит одежду. Нейронная сеть обходит предыдущие подходы, основанные на модели сегментации человеческих частей и в итоге предлагаемая модель дает более реалистичные результаты.
Нейросеть написана на python и находиться в свободном доступе на github
https://github.com/geyuying/PF-AFN
👍11
Нижние подчёркивание между цифрами
Они никак не влияют на приложение и используются для того, чтобы числа было удобнее считывать при больших значениях.
Таким образом можно разделять десятки, сотни, тысячи и так далее.
#объяснение
Они никак не влияют на приложение и используются для того, чтобы числа было удобнее считывать при больших значениях.
Таким образом можно разделять десятки, сотни, тысячи и так далее.
#объяснение
👍59🔥8😁3🤯1
Про упаковку и распаковку
Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).
Упаковка позволяет собрать несколько значений в один список и после работать с ними.
Эти фишки делают код более красивым и элегантным, но стоит знать меру.
#объяснение
Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).
Упаковка позволяет собрать несколько значений в один список и после работать с ними.
Эти фишки делают код более красивым и элегантным, но стоит знать меру.
#объяснение
👍32
💻Nextcord
Современная, простая в использовании, многофункциональная и готовая к асинхронизации Python-библиотека представляющая из себя API для Discord.
С помощью нее можно создать множество Discord-ботов имитирующих реального пользователя (и не только)
https://github.com/nextcord/nextcord
Современная, простая в использовании, многофункциональная и готовая к асинхронизации Python-библиотека представляющая из себя API для Discord.
С помощью нее можно создать множество Discord-ботов имитирующих реального пользователя (и не только)
https://github.com/nextcord/nextcord
👍8🤡5👎3
Хороший Python
В первом тесте Python получает список, выполняет функцию join (объединяет строки в последовательности) и создаёт новую строку.
Но вот во втором случае Python сразу понимает что
#объяснение
В первом тесте Python получает список, выполняет функцию join (объединяет строки в последовательности) и создаёт новую строку.
Но вот во втором случае Python сразу понимает что
''.join(a.split())
вернёт a, поэтому не выполняет ни split, ни join, а подставляет ту же строку.#объяснение
😱19👍8
Изменение возраста с помощью модели регрессии
Новая нейросеть способна выполнять довольно сложную задачу состаривания и омолаживания человека всего по одной фотографии.
Попробовать нейросеть в деле может каждый желающий — достаточно следовать инструкции по установке, которая лежит в репозитории.
Ссылка на гитхаб
Новая нейросеть способна выполнять довольно сложную задачу состаривания и омолаживания человека всего по одной фотографии.
Попробовать нейросеть в деле может каждый желающий — достаточно следовать инструкции по установке, которая лежит в репозитории.
Ссылка на гитхаб
👍11
Python оптимизировал создание строки
С помощью dis мы можем посмотреть байт-код программы.
Здесь мы видим, что 'hello' и 'hell' + 'o' ничем не отличается друг от друга, а значит Python поступил по умному и оптимизировал код.
#объяснение
С помощью dis мы можем посмотреть байт-код программы.
Здесь мы видим, что 'hello' и 'hell' + 'o' ничем не отличается друг от друга, а значит Python поступил по умному и оптимизировал код.
#объяснение
😱20👍12❤🔥5🤨2❤1👎1👾1
Кэширование строк
Стоит отметить, что это очень сильно зависит от интерпретатора Python. Также правила могут измениться в будущем.
Короткие строки в Python кэшируются интерпретатором при инициализации. Это используется для сохранения памяти.
Если вы хотите поэкспериментировать, можете установить Python 2.7 и поиграться с функцией
#объяснение
Стоит отметить, что это очень сильно зависит от интерпретатора Python. Также правила могут измениться в будущем.
Короткие строки в Python кэшируются интерпретатором при инициализации. Это используется для сохранения памяти.
Если вы хотите поэкспериментировать, можете установить Python 2.7 и поиграться с функцией
intern()
, которая принудительно кэширует строку.#объяснение
👍12🤨8
Оператор with
Был придуман, чтобы заменить огромные try/except/finally при работе с файлами/соединениями на более простую конструкцию.
Он самостоятельно выполняет обязательные функции по завершению работы с классом после выполнения всех действий. Об этом в PEP 343.
Оператор использует
#теория
Был придуман, чтобы заменить огромные try/except/finally при работе с файлами/соединениями на более простую конструкцию.
Он самостоятельно выполняет обязательные функции по завершению работы с классом после выполнения всех действий. Об этом в PEP 343.
Оператор использует
__enter__
в самом начале, например, для открытия файла. После выполнения всех операций (или если возникла ошибка), используется __exit__
.#теория
👍22❤3😁1
try/except
Эта конструкция используется для «ловли» ошибок и их обработки. Например, если пользователь неправильно ввёл число, попросить его сделать это заново.
#объяснение
Эта конструкция используется для «ловли» ошибок и их обработки. Например, если пользователь неправильно ввёл число, попросить его сделать это заново.
try
— здесь хранится код, который может выдать ошибку.except Exception
— если появилась ошибка, будет выполняться код из этого блока.else
— ошибок не было? Отлично, значит после try выполняем этот блок.finally
— выполняется всегда. Выдало ошибку, не выдало ошибку, функция использовала return — не имеет значение.#объяснение
👍20🤡1
Разница между is и ==
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
id()
.is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
__eq__
и предназначения для сравнения значений класса.Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
👍53❤2🤯2
📓 Практическое введение в решение дифференциальных уравнений в Python.
• Книга посвящена вопросам практического применения символьных вычислений для решения дифференциальных уравнений и их систем с использованием библиотеки символьных вычислений SymPy языка программирования Python. В каждой главе книги рассматривается какая-либо одна прикладная модель из области физики, химии, биологии и т. д.
• После теоретического вывода возникающих в модели дифференциальных уравнений максимально детально описывается процесс формализации модели и решения соответствующих дифференциальных уравнений с использованием библиотеки SymPy. Особое внимание при этом уделяется анализу и визуализации найденных решений с помощью библиотеки Matplotlib. Изложение материала сопровождается большим числом иллюстраций и упражнений.
• Издание ориентировано на школьников старших классов, студентов, преподавателей и всех интересующихся проблемами математического моделирования.
🟢 Читать/скачать книгу
#RU
• Книга посвящена вопросам практического применения символьных вычислений для решения дифференциальных уравнений и их систем с использованием библиотеки символьных вычислений SymPy языка программирования Python. В каждой главе книги рассматривается какая-либо одна прикладная модель из области физики, химии, биологии и т. д.
• После теоретического вывода возникающих в модели дифференциальных уравнений максимально детально описывается процесс формализации модели и решения соответствующих дифференциальных уравнений с использованием библиотеки SymPy. Особое внимание при этом уделяется анализу и визуализации найденных решений с помощью библиотеки Matplotlib. Изложение материала сопровождается большим числом иллюстраций и упражнений.
• Издание ориентировано на школьников старших классов, студентов, преподавателей и всех интересующихся проблемами математического моделирования.
🟢 Читать/скачать книгу
#RU
👍3💩2
__getattribute__
и __getattr__
Это особые методы, которые вызываются при попытке получить какой-либо атрибут класса. Например, foo.var вызовет __getattribute__
, а после, возможно __getattr__
.Отличие между методами только в том, что
__getattribute__
используется всегда, а __getattr__
только если атрибут не найден.#объяснение
👍33
📌 Это спасёт вас от кучи багов
Просто знайте, что
Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
#урок
Просто знайте, что
round(x)
округляет x до ближайшего чётного числа, а не так, как мы привыкли (3.5 => 4
; 2.5 => 3
).Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
ctx.rounding = ROUND_HALF_UP
📕 Документация#урок
👍15🔥4🤯3❤1
Я утка
В языках без явного указания типа (Python, JS) есть такое понятие как утиная типизация. Описывается так: «Если оно выглядит как утка и крякает как утка, то, наверное, это утка».
Утиный стиль программирования смотрит не на тип объекта, а на его атрибуты. Например, наличие iter() означает, что объект итерируемый.
#теория
В языках без явного указания типа (Python, JS) есть такое понятие как утиная типизация. Описывается так: «Если оно выглядит как утка и крякает как утка, то, наверное, это утка».
Утиный стиль программирования смотрит не на тип объекта, а на его атрибуты. Например, наличие iter() означает, что объект итерируемый.
#теория
👍32😁15