Хватит записываться на скучные курсы! Самостоятельно изучите Sci-kit Learn с помощью ChatGPT!
Теперь мы все начинаем изучать Data Science и машинное обучение, записываясь на онлайн-курсы.
Признаюсь, некоторые из них действительно помогают в процессе обучения. Тем не менее, многие из них стали бесполезными после выпуска ChatGPT. Только представьте, что Искусственный Интеллект может помогать вам учиться абсолютно бесплатно... К тому же вы сможете сами составить программу обучения и выбрать методы, по которым будете учиться!
▪ Читать
@machinelearning_ru
Теперь мы все начинаем изучать Data Science и машинное обучение, записываясь на онлайн-курсы.
Признаюсь, некоторые из них действительно помогают в процессе обучения. Тем не менее, многие из них стали бесполезными после выпуска ChatGPT. Только представьте, что Искусственный Интеллект может помогать вам учиться абсолютно бесплатно... К тому же вы сможете сами составить программу обучения и выбрать методы, по которым будете учиться!
▪ Читать
@machinelearning_ru
👍6❤4🔥2
This New AI Is The Future of Videomaking!
Runway обещают через пару недель выкатить новые фичи связанные с текстовой генерацией и редактированием видео в открытый доступ на своём сайте.
https://www.youtube.com/watch?v=muNkPjigQEE
статья: https://arxiv.org/abs/2302.03011
демо: https://runwayml.com/
@machinelearning_ru
Runway обещают через пару недель выкатить новые фичи связанные с текстовой генерацией и редактированием видео в открытый доступ на своём сайте.
https://www.youtube.com/watch?v=muNkPjigQEE
статья: https://arxiv.org/abs/2302.03011
демо: https://runwayml.com/
@machinelearning_ru
YouTube
This New AI Is The Future of Videomaking!
❤️ Check out Lambda here and sign up for their GPU Cloud: https://lambdalabs.com/papers
📝 The paper "Structure and Content-Guided Video Synthesis with Diffusion Models" is available here:
https://arxiv.org/abs/2302.03011
Try Runway:
https://runwayml.com/…
📝 The paper "Structure and Content-Guided Video Synthesis with Diffusion Models" is available here:
https://arxiv.org/abs/2302.03011
Try Runway:
https://runwayml.com/…
👍5❤2🔥1
5 признаков того, что вы стали продвинутым пользователем Pandas, даже не осознавая этого
Ловите ли вы себя на мысли о том, что мечтаете о фреймах и сериях данных Pandas? Проводите ли вы часы подряд, выполняя сложные манипуляции и агрегации, едва замечая боль в спине и всё время думая: “как же это интересно”?
Что ж, с таким успехом вы могли бы быть продвинутым пользователем Pandas, даже не осознавая этого. Присоединяйтесь к клубу поклонников Pandas, которые достигли этого редкого уровня, и примите тот факт, что вы официально являетесь мастером обработки данных.
Итак, давайте взглянем на пять признаков того, что вы уже состоите в этом клубе.
Читать
@pro_python_code
Ловите ли вы себя на мысли о том, что мечтаете о фреймах и сериях данных Pandas? Проводите ли вы часы подряд, выполняя сложные манипуляции и агрегации, едва замечая боль в спине и всё время думая: “как же это интересно”?
Что ж, с таким успехом вы могли бы быть продвинутым пользователем Pandas, даже не осознавая этого. Присоединяйтесь к клубу поклонников Pandas, которые достигли этого редкого уровня, и примите тот факт, что вы официально являетесь мастером обработки данных.
Итак, давайте взглянем на пять признаков того, что вы уже состоите в этом клубе.
Читать
@pro_python_code
👍8❤1🔥1
NVIDIA Is Simulating 100,000 Hair Strands!
https://www.youtube.com/watch?v=eVjhOzY9KvY
@machinelearning_ru
https://www.youtube.com/watch?v=eVjhOzY9KvY
@machinelearning_ru
YouTube
NVIDIA Is Simulating 100,000 Hair Strands!
❤️ Check out Lambda here and sign up for their GPU Cloud: https://lambdalabs.com/papers
📝 The #NVIDIA paper "Interactive Hair Simulation on the GPU using ADMM" is available here:
https://research.nvidia.com/publication/2023-08_interactive-hair-simulation…
📝 The #NVIDIA paper "Interactive Hair Simulation on the GPU using ADMM" is available here:
https://research.nvidia.com/publication/2023-08_interactive-hair-simulation…
❤3👍3🔥1🤔1
Код для бстрого разложение данных высокой размерности.
Если вы хотите разложить данные высокой размерности на два или три измерения для их визуализации, что мы чаще делаем?
Распространенной техникой является PCA. Несмотря на полезность PCA, я всегда считал сложным создание графика PCA, пока не нашел эту документ в Yellowbrick.
Я рекомендую использовать этот инструмент, если вы хотите визуализировать PCA с помощью нескольких строк кода
from yellowbrick.datasets import load_credit
from yellowbrick.features import PCA
https://www.scikit-yb.org/en/latest/api/features/pca.html
@machinelearning_ru
Если вы хотите разложить данные высокой размерности на два или три измерения для их визуализации, что мы чаще делаем?
Распространенной техникой является PCA. Несмотря на полезность PCA, я всегда считал сложным создание графика PCA, пока не нашел эту документ в Yellowbrick.
Я рекомендую использовать этот инструмент, если вы хотите визуализировать PCA с помощью нескольких строк кода
from yellowbrick.datasets import load_credit
from yellowbrick.features import PCA
# Specify the features of interest and the target
X, y = load_credit()
classes = ['account in default', 'current with bills']
visualizer = PCA(scale=True, classes=classes)
visualizer.fit_transform(X, y)
visualizer.show()https://www.scikit-yb.org/en/latest/api/features/pca.html
@machinelearning_ru
👍11🔥4❤1
datefinder: Инструмент автоматического поиска дат и времени в строках Python
Если вы хотите автоматически искать дату и время с различными форматами в строках Python, попробуйте использовать datefinder. В приведенном коде показано, как использовать datefinder.
▪ Github
@machinelearning_ru
Если вы хотите автоматически искать дату и время с различными форматами в строках Python, попробуйте использовать datefinder. В приведенном коде показано, как использовать datefinder.
# pip install datefinder
from datefinder import find_dates
text = """"We have one meeting on May 17th,
2021 at 9:00am and another meeting on 5/18/2021
at 10:00. I hope you can attend one of the
meetings."""
matches = find_dates(text)
for match in matches:
print("Date and time:", match)
print("Only day:", match.day)
"""Output:
Date and time: 2021-05-17 09:00:00
Only day: 17
Date and time: 2021-05-18 10:00:00
Only day: 18
"""
▪ Github
@machinelearning_ru
👍8🔥3❤2
Как построить систему геоаналитики с применением ML?
Решать аналитические задачи с большим количеством значимых признаков помогает машинное обучение. В новой статье на Хабр вы найдете примеры работы сервисов геоаналитики VK Predict и узнаете, из каких этапов состоит разработка продукта с возможностями гео аналитики и какие модели машинного обучения используются при построении таких систем.
👉 Читать статью
@machinelearning_ru
Решать аналитические задачи с большим количеством значимых признаков помогает машинное обучение. В новой статье на Хабр вы найдете примеры работы сервисов геоаналитики VK Predict и узнаете, из каких этапов состоит разработка продукта с возможностями гео аналитики и какие модели машинного обучения используются при построении таких систем.
👉 Читать статью
@machinelearning_ru
👍7🔥1
PaLM + RLHF - Pytorch
Интресный проект, который позволяет реализовать функциональность ChatGPT, но с исходниками из открытого доступа.Учтите, что для обучения модели могут потребоваться большие вычислительные ресурсы
Еще стоит отметить наличие подробной инструкции по использованию и возможность настроить модель под конкретные задачи.
▪Github
@machinelearning_ru
Интресный проект, который позволяет реализовать функциональность ChatGPT, но с исходниками из открытого доступа.Учтите, что для обучения модели могут потребоваться большие вычислительные ресурсы
Еще стоит отметить наличие подробной инструкции по использованию и возможность настроить модель под конкретные задачи.
$ pip install palm-rlhf-pytorch▪Github
@machinelearning_ru
👍8❤2🔥1
Ускоренный курс по машинному обучению
Курс от Google основы машинного обучения, включает видеолекции от исследователей из Google.
@machinelearning_ru
Курс от Google основы машинного обучения, включает видеолекции от исследователей из Google.
@machinelearning_ru
grow.google
Grow with Google - Training to Grow Your Business & Career- Grow with Google
Explore training and tools to grow your business and online presence and learn digital skills to grow your career and qualify for in-demand jobs.
🔥11👍4🥰1
Data Science Foundations
Бесплатный курс от Google - введение в Data Science и аналитику — все основы Data Science и Data Science Life Cycle.
https://learndigital.withgoogle.com/digitalunlocked/course/data-science-foundations
@machinelearning_ru
Бесплатный курс от Google - введение в Data Science и аналитику — все основы Data Science и Data Science Life Cycle.
https://learndigital.withgoogle.com/digitalunlocked/course/data-science-foundations
@machinelearning_ru
grow.google
Grow with Google - Training to Grow Your Business & Career- Grow with Google
Explore training and tools to grow your business and online presence and learn digital skills to grow your career and qualify for in-demand jobs.
👍7🔥2
Pick-a-Pic — это датасет для обучения моделей генерации изображения из текста, содержащий более 500 000 изображений и оценки пользователей
Для создания датасета исследователи разработали веб-приложение на основе моделей StableDiffusion 1.5 и SDXL beta, в котором по текстовой подсказке генерируется пара изображений. Пользователи выбирают понравившийся вариант, либо отмечают, что среди вариантов нет явного победителя.
▪Датасет
▪Статья
@machinelearning_ru
Для создания датасета исследователи разработали веб-приложение на основе моделей StableDiffusion 1.5 и SDXL beta, в котором по текстовой подсказке генерируется пара изображений. Пользователи выбирают понравившийся вариант, либо отмечают, что среди вариантов нет явного победителя.
▪Датасет
▪Статья
@machinelearning_ru
❤4👍4🔥1
💡 Задачи: посчитать количество слов в тексте
Задача состоит в том, чтобы написать программу для чтения содержимого текстового файла и создания словаря отдельных слов и частоты появления слова в текстовом файле. затем либо отобразить частоты, либо сгенерировать их во втором файле.
▪входные данные: текстовый файл, содержащий текст
▪вывод: частоты слов, встречающихся в тексте, и текстовый файл с ним
частоты слов, встречающихся в тексте, и текстовый файл с ним
Решение:
▪прочитать содержимое текстового файла
▪обработать текст, удалив знаки препинания и переведя его в нижний регистр
▪сохранить обработанный текст в файл
▪прочитать обработанный файл и ▪прочитать его слово за словом
занести слово в словарь и ▪установить счетчик на плюс один каждый раз, когда слово встречается в тексте
предположение:
@machinelearning_ru
Задача состоит в том, чтобы написать программу для чтения содержимого текстового файла и создания словаря отдельных слов и частоты появления слова в текстовом файле. затем либо отобразить частоты, либо сгенерировать их во втором файле.
▪входные данные: текстовый файл, содержащий текст
▪вывод: частоты слов, встречающихся в тексте, и текстовый файл с ним
частоты слов, встречающихся в тексте, и текстовый файл с ним
Решение:
▪прочитать содержимое текстового файла
▪обработать текст, удалив знаки препинания и переведя его в нижний регистр
▪сохранить обработанный текст в файл
▪прочитать обработанный файл и ▪прочитать его слово за словом
занести слово в словарь и ▪установить счетчик на плюс один каждый раз, когда слово встречается в тексте
предположение:
#!/usr/bin/ python3
"""this code is to count word frequency in a text file"""
#importing module
import string
import json
"""эта функция предназначена для предварительной обработки текстового файла путем удаления знаков препинания и перевода в нижний регистр букв"""
def preprocess(file):
with open(file, 'r') as fileData:
for textline in fileData:
#разделяем слова на буквы
wordsList = textline.split()
x = [''.join(c for c in s if c not in string.punctuation) for s in wordsList]
x = [x.lower() for x in x]
y = " ".join(x)
fila = open(prefile, "a")
fila.write(y+"\n")
def cleartxt():
f = open(prefile, "w")
f.write("")
filename = 'BohemianRhapsody.txt'
prefile = 'preprocessed.txt'
dictionary = {}
preprocess(filename)
with open(prefile, "r") as f:
words = f.read().split()
words = list(words)
words = sorted(words)
for x in words:
if x in dictionary:
dictionary[x] += 1
else:
dictionary[x] = 1
print(open(filename, "r").read(),'\n')
print("--- DICTIONARY OF WORDS ---\n",dictionary)
with open('wordfreq.txt', 'w') as convert_file:
convert_file.write(json.dumps(dictionary))
cleartxt()@machinelearning_ru
👍10❤2🔥2🤩1
📌 NVIDIA’s New AI Mastered Minecraft 15X Faster!
https://www.youtube.com/watch?v=VKEA5cJluc0
@machinelearning_ru
https://www.youtube.com/watch?v=VKEA5cJluc0
@machinelearning_ru
YouTube
NVIDIA’s New AI Mastered Minecraft 15X Faster!
❤️ Check out Weights & Biases and sign up for a free demo here: https://wandb.com/papers
📝 The paper "Voyager: An Open-Ended Embodied Agent with Large Language Models" is available here:
https://voyager.minedojo.org/
My latest paper on simulations that…
📝 The paper "Voyager: An Open-Ended Embodied Agent with Large Language Models" is available here:
https://voyager.minedojo.org/
My latest paper on simulations that…
🔥7👍3❤2
💫 8 способов свести ваши функции Python в одну строку
Знали ли вы о том, что в языке программирования Python можно реализовать функцию в одну строку? Или это что-то новое для вас? В этой статье я расскажу вам о восьми самых лучших способах расположить функцию одной строкой!
📌 Читать
@machinelearning_ru
Знали ли вы о том, что в языке программирования Python можно реализовать функцию в одну строку? Или это что-то новое для вас? В этой статье я расскажу вам о восьми самых лучших способах расположить функцию одной строкой!
📌 Читать
@machinelearning_ru
👍7❤2👎1🔥1
Photoshop’s New AI Feature Is Amazing!
https://www.youtube.com/watch?v=Y119ZaHIPp0
@machinelearning_ru
https://www.youtube.com/watch?v=Y119ZaHIPp0
@machinelearning_ru
YouTube
Photoshop’s New AI Feature Is Amazing!
❤️ Check out Lambda here and sign up for their GPU Cloud: https://lambdalabs.com/papers
Generative fill is now available in the beta versions of Photoshop.
Links and papers:
https://vcai.mpi-inf.mpg.de/projects/DragGAN/
https://github.com/Zeqiang-Lai/DragGAN…
Generative fill is now available in the beta versions of Photoshop.
Links and papers:
https://vcai.mpi-inf.mpg.de/projects/DragGAN/
https://github.com/Zeqiang-Lai/DragGAN…
👍4🔥2❤1
Могут ли модели мо маркировать данные, как люди?
https://huggingface.co/blog/llm-leaderboard
@machinelearning_ru
https://huggingface.co/blog/llm-leaderboard
@machinelearning_ru
🔥4❤2👍2
📁Функции для кэширования
Функция lru_cache из functools
Функция lru_cache предназначается для мемоизации, т.е. кэширует результат в памяти. Она используется в качестве декоратора функции, вызовы которой нужно сохранить в памяти вплоть до значения параметра maxsize (по умолчанию 128).
Пример:
Мы специально добавили функцию print для вывода в стандартный поток вывода текущего значения n. Повызываем эту функцию с разными значениями:
Как видим, она постоянно вычисляет одни и те же значения n. Итак, чтобы избежать повторных вычислений мы можем сохранить в кэше результаты предыдущих вычислений с помощью lru_cache, добавив только одну строчку с декоратором:
Поскольку результаты от sum(1) до sum(11) уже найдены и сохранены в кэше, то они из него достаются, поэтому mysum(15) вычисляет вызовы от 15 до 12.
Как работает Least Recently Used (LRU) алгоритм. Параметры функции lru_cache
Алгоритм LRU хранит наиболее используемые вызовы в кэше размера maxsize. Устаревшие элементы удаляются, если кэш заполнен. Один из способов реализации LRU - это использование двусвязного списка с отображением ключей на указатели списка. При добавлении ключа указатель на первый элемент списка меняется на указатель данного ключа, и элемент с этим ключом удаляется. Язык Python реализует более сложные версии LRU, например, учитывая использование в тредах.
Итак, до этого мы использовали lru_cache без явного задания параметров. Но на самом деле по умолчанию неявно передается maxsize=128. Давайте зададим явно этот параметр, равным 3:
Наша функция, теперь хранит только 3 последних вызова, т.е. значения 10, 9, 8 (не забывайте, что этой линейной нехвостовой рекурсии нужно возвратиться обратно, когда n = 1). А вот значения 7 и меньше в кэше не хранятся, поэтому функция вычисляется как и положено. С другой стороны, если мы захотим теперь снова вычислить mysum(10), то вычислить нужно только mysum(8), mysum(9) и mysum(10)
Второй параметр декоратора lru_cache является typed, по умолчанию равный False. Если он равен True, то параметры декорируемой функции будут кэшированы отдельно. По умолчанию все параметры рассматриваются как эквивалентные. Это значит, что в некоторых случаях int может быть эквивалентен float (1 == 1.0) или список эквивалентен кортежу. В нашей рекурсивной функции даже передача True не гарантирует эквивалентности между int и float.
Также мы можем передать maxsize=None, это сделает кэш бесконечным. В Python 3.9 появилась функция cache, которая эквивалентна lru_cache(maxsize=None).
Изучаем информацию о кэше
Кэшированные функции имеют метод cache_info, который выводит информацию о кэше:
где
Функция lru_cache из functools
Функция lru_cache предназначается для мемоизации, т.е. кэширует результат в памяти. Она используется в качестве декоратора функции, вызовы которой нужно сохранить в памяти вплоть до значения параметра maxsize (по умолчанию 128).
Пример:
def mysum(n):
if n == 1:
return n
print(f"'{n}'", end=" ")
return n + mysum(n - 1)Мы специально добавили функцию print для вывода в стандартный поток вывода текущего значения n. Повызываем эту функцию с разными значениями:
>>> mysum(11)
'11' '10' '9' '8' '7' '6' '5' '4' '3' '2' 66
>>> mysum(11)
'11' '10' '9' '8' '7' '6' '5' '4' '3' '2' 66
>>> mysum(7)
'7' '6' '5' '4' '3' '2' 28
>>> mysum(9)
'9' '8' '7' '6' '5' '4' '3' '2' 45Как видим, она постоянно вычисляет одни и те же значения n. Итак, чтобы избежать повторных вычислений мы можем сохранить в кэше результаты предыдущих вычислений с помощью lru_cache, добавив только одну строчку с декоратором:
import functools as ftl
@ftl.lru_cache
def mysum(n):
if n == 1:
return n
print(f"'{n}'", end=" ")
return n + mysum(n - 1)
>>> mysum(11)
'11' '10' '9' '8' '7' '6' '5' '4' '3' '2' 66
>>> mysum(11)
66
>>> mysum(9)
45
>>> mysum(7)
28
>>> mysum(15)
'15' '14' '13' '12' 120Поскольку результаты от sum(1) до sum(11) уже найдены и сохранены в кэше, то они из него достаются, поэтому mysum(15) вычисляет вызовы от 15 до 12.
Как работает Least Recently Used (LRU) алгоритм. Параметры функции lru_cache
Алгоритм LRU хранит наиболее используемые вызовы в кэше размера maxsize. Устаревшие элементы удаляются, если кэш заполнен. Один из способов реализации LRU - это использование двусвязного списка с отображением ключей на указатели списка. При добавлении ключа указатель на первый элемент списка меняется на указатель данного ключа, и элемент с этим ключом удаляется. Язык Python реализует более сложные версии LRU, например, учитывая использование в тредах.
Итак, до этого мы использовали lru_cache без явного задания параметров. Но на самом деле по умолчанию неявно передается maxsize=128. Давайте зададим явно этот параметр, равным 3:
@ftl.lru_cache(maxsize=3)
def mysum(n):
if n == 1:
return n
print(f"'{n}'", end=" ")
return n + mysum(n - 1)
>>> mysum(10)
'10' '9' '8' '7' '6' '5' '4' '3' '2' 55
>>> mysum(8)
36
>>> mysum(7)
'7' '6' '5' '4' '3' '2' 28Наша функция, теперь хранит только 3 последних вызова, т.е. значения 10, 9, 8 (не забывайте, что этой линейной нехвостовой рекурсии нужно возвратиться обратно, когда n = 1). А вот значения 7 и меньше в кэше не хранятся, поэтому функция вычисляется как и положено. С другой стороны, если мы захотим теперь снова вычислить mysum(10), то вычислить нужно только mysum(8), mysum(9) и mysum(10)
>>> mysum(10)
'10' '9' '8' 55Второй параметр декоратора lru_cache является typed, по умолчанию равный False. Если он равен True, то параметры декорируемой функции будут кэшированы отдельно. По умолчанию все параметры рассматриваются как эквивалентные. Это значит, что в некоторых случаях int может быть эквивалентен float (1 == 1.0) или список эквивалентен кортежу. В нашей рекурсивной функции даже передача True не гарантирует эквивалентности между int и float.
Также мы можем передать maxsize=None, это сделает кэш бесконечным. В Python 3.9 появилась функция cache, которая эквивалентна lru_cache(maxsize=None).
Изучаем информацию о кэше
Кэшированные функции имеют метод cache_info, который выводит информацию о кэше:
>>> mysum.cache_info()
CacheInfo(hits=2, misses=20, maxsize=3, currsize=3)где
👍11🔥2❤1🤔1