SlideShare a Scribd company logo
www.provectus.com
A presentation of expertise we boast and services we render for
partners across the board, around the globe.
© Provectus, Inc.
[Expert Fridays] Python MeetUp - Леонид Блохин: "Нейросети на питоне: пфф  easy"
Нейросеть на python
www.provectus.com
О чем пойдет речь
• Немного вспомним нейросети
• Поговорим о хорошем инструменте для машинного обучения
• Поговорим о сервисе для хорошего инструмента для машинного обучения
• Посмотрим, как используя эти радости, на питоне, в несколько строчек запилить
годный машинлернинг с предоставлением на фронтенд простенького интерфейса
для использования.
www.provectus.com
Немного о нейросетях
• Один персептрон, или не один
• Функция активации
• Может быть немного математики х(у) = @#$%
www.provectus.com
Сферический персептрон в вакууме
www.provectus.com
Мозг здорового Крэнга
один нейрон много нейронов
www.provectus.com
Мозг Крэнга курильщика
www.provectus.com
немного математики
www.provectus.com
функции активации
www.provectus.com
и почему же ИИ еще не захватил мир?
www.provectus.com
Инструмент для машин лёнинга
• Apache Spark
• MLlib
www.provectus.com
Apache Spark™ is a fast and general engine for large-scale data processing.
www.provectus.com
Spark MLlib
● Classification: logistic regression, naive Bayes,...
● Regression: generalized linear regression, isotonic regression,...
● Decision trees, random forests, and gradient-boosted trees
● Recommendation: alternating least squares (ALS)
● Clustering: K-means, Gaussian mixtures (GMMs),...
● Topic modeling: latent Dirichlet allocation (LDA)
● Feature transformations: standardization, normalization, hashing,...
● Model evaluation and hyper-parameter tuning
● ML Pipeline construction
● ML persistence: saving and loading models and Pipelines
● Survival analysis: accelerated failure time model
● Frequent itemset and sequential pattern mining: FP-growth, association rules, PrefixSpan
● Distributed linear algebra: singular value decomposition (SVD), principal component analysis (PCA),...
● Statistics: summary statistics, hypothesis testing,...
www.provectus.com
Сервис для хорошего инструмента для машинного обучения
Mist
Прелестные возможности для работы со спарком
● Spark 2.0.0 support!
● Spark Contexts orchestration
● Super parallel mode: multiple Spark contexts in separate JVMs
● HTTP & Messaging (MQTT) API
● Scala & Python Spark jobs support
● Support for Spark SQL and Hive
● High Availability and Fault Tolerance
● Self Healing after driver program failure
● Powerful logging
● Clear end-user API
https://github.com/Hydrospheredata/mist
www.provectus.com
Предсказываем погоду
• Данные сохраняем в паркет
• Обучаем модельки нейросети по станциям
• Предсказываем
www.provectus.com
у нас есть план, будем его придерживаться
фронтенд мист
спарк
хадуп
данные о
погоде
тренер
данные
весов
предсказатель
www.provectus.com
сохраняем в паркет
https://github.com/leonid133/python-spark-savetoparquet
noaa data
parquet
вытаскиваем нужные поля
фильтруем плохие данные
группируем по станциям
…
>>подготавливаем
www.provectus.com
тренируем модельку
from pyspark.ml.classification import MultilayerPerceptronClassifier
# Load training data
training = spark.read.parquet("parquet_data")
mp = MultilayerPerceptronClassifier(blockSize=42, maxIter=300)
# Fit the model
model = pm.fit(training)
model.save("model_name")
www.provectus.com
пишем джобу предсказатель
from mist.mist_job import MistJob
class SimpleContext(MistJob):
def do_stuff(self, params):
points_dist = params.values()
data = getdata_by_point(points_dist)
model = MultilayerPerceptronClassificationModel.load(data.modelel_path)
prediction = model.transform(data.df)
answer_obj = answer_df_to_map(prediction) #делаем красивый мап с предсказанием
result = answer_obj
return result
www.provectus.com
спрашиваем результат
HTTP или MQTT
POST http://localhost:2003/api/forecast
{
“points”:{"lat": 56.1241, “lng”: 42.3457,...}
“distance”: 254
}'
{"success":true,"payload":
{
“point”:{“lat”:56.1241, “lng”:42.3457}
“sun”:30,
“cloud”:75,
“temperature”:-25} ...
}, …
}
www.provectus.com
[Expert Fridays] Python MeetUp - Леонид Блохин: "Нейросети на питоне: пфф  easy"
Леонид Блохин
Skype:
Email: lblokhin@provectus.com
www.provectus.com
Благодарю за внимание!

More Related Content

PDF
Как посчитать машинки, ничего не зная про нейронки
PPTX
Управление памятью в CPython
PDF
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
PDF
Oles’ Petriv (Data Scientist at VideoGorillas): “ Visualization Methods and D...
PDF
Евгений Яремчук "Workflow of the Data Scientist Expertise in 6 Steps. Applica...
PDF
Agile transformation_keynote
PPTX
Тимофей Лавренюк (Provectus): "Progressive Web Apps in Production"
PPTX
Code quality
Как посчитать машинки, ничего не зная про нейронки
Управление памятью в CPython
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
Oles’ Petriv (Data Scientist at VideoGorillas): “ Visualization Methods and D...
Евгений Яремчук "Workflow of the Data Scientist Expertise in 6 Steps. Applica...
Agile transformation_keynote
Тимофей Лавренюк (Provectus): "Progressive Web Apps in Production"
Code quality

Viewers also liked (13)

PPT
Pti04 produk
DOC
Grigol modebadze. cv
PDF
Hackathon Hydrosphere.io - AffApp
PDF
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
PDF
Данис Тазетдинов - Зачем нужны-Apple-watch
PDF
883 THISTLE DOWN CIRCLE - Sept 10 (EXISTING)
PDF
Social@Scale Summit Hosted by Nestle Purina Agenda
PDF
Digital Strategy CIC StLouis_ClementeFarmer 2014
PPTX
Geolocation API実地試験
PPTX
Станислав Иващенко: “Kubernetes как облако для CI”
PDF
Santiago Hernández 902JM
PPTX
How to (and should you?) turn your app idea into a business
PPTX
QA MeetUp - Эмиль Хуснетдинов: "Управление качеством проекта"
Pti04 produk
Grigol modebadze. cv
Hackathon Hydrosphere.io - AffApp
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
Данис Тазетдинов - Зачем нужны-Apple-watch
883 THISTLE DOWN CIRCLE - Sept 10 (EXISTING)
Social@Scale Summit Hosted by Nestle Purina Agenda
Digital Strategy CIC StLouis_ClementeFarmer 2014
Geolocation API実地試験
Станислав Иващенко: “Kubernetes как облако для CI”
Santiago Hernández 902JM
How to (and should you?) turn your app idea into a business
QA MeetUp - Эмиль Хуснетдинов: "Управление качеством проекта"
Ad

Similar to [Expert Fridays] Python MeetUp - Леонид Блохин: "Нейросети на питоне: пфф easy" (10)

PDF
Машинное обучение в электронной коммерции - практика использования и подводны...
PPTX
Опыт моделеварения от команды ComputerVision Mail.ru
PPTX
Машинное обучение в электронной коммерции — практика использования и подводны...
PPTX
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
PDF
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
PDF
Machine Learning introdaction in biology
PDF
Data Science Week 2016. Rambler & Co. "Пайплайн машинного обучения на Apache ...
PDF
Интерпретация моделей машинного обучения
PDF
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
PDF
Machine learning c использованием нейронных сетей, Дмитрий Лапин
Машинное обучение в электронной коммерции - практика использования и подводны...
Опыт моделеварения от команды ComputerVision Mail.ru
Машинное обучение в электронной коммерции — практика использования и подводны...
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
Machine Learning introdaction in biology
Data Science Week 2016. Rambler & Co. "Пайплайн машинного обучения на Apache ...
Интерпретация моделей машинного обучения
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
Machine learning c использованием нейронных сетей, Дмитрий Лапин
Ad

More from Provectus (20)

PPTX
Choosing the right IDP Solution
PPTX
Intelligent Document Processing in Healthcare. Choosing the Right Solutions.
PPTX
Choosing the Right Document Processing Solution for Healthcare Organizations
PPTX
MLOps and Data Quality: Deploying Reliable ML Models in Production
PPTX
AI Stack on AWS: Amazon SageMaker and Beyond
PPTX
Feature Store as a Data Foundation for Machine Learning
PPTX
MLOps and Reproducible ML on AWS with Kubeflow and SageMaker
PPTX
Cost Optimization for Apache Hadoop/Spark Workloads with Amazon EMR
PPTX
ODSC webinar "Kubeflow, MLFlow and Beyond — augmenting ML delivery" Stepan Pu...
PDF
"Building a Modern Data platform in the Cloud", Alex Casalboni, AWS Dev Day K...
PDF
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
PDF
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
PDF
"Analyzing your web and application logs", Javier Ramirez, AWS Dev Day Kyiv 2...
PDF
"Resiliency and Availability Design Patterns for the Cloud", Sebastien Storma...
PDF
"Architecting SaaS solutions on AWS", Oleksandr Mykhalchuk, AWS Dev Day Kyiv ...
PDF
"Developing with .NET Core on AWS", Martin Beeby, AWS Dev Day Kyiv 2019
PDF
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
PDF
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
PDF
"Scaling ML from 0 to millions of users", Julien Simon, AWS Dev Day Kyiv 2019
PPTX
How to implement authorization in your backend with AWS IAM
Choosing the right IDP Solution
Intelligent Document Processing in Healthcare. Choosing the Right Solutions.
Choosing the Right Document Processing Solution for Healthcare Organizations
MLOps and Data Quality: Deploying Reliable ML Models in Production
AI Stack on AWS: Amazon SageMaker and Beyond
Feature Store as a Data Foundation for Machine Learning
MLOps and Reproducible ML on AWS with Kubeflow and SageMaker
Cost Optimization for Apache Hadoop/Spark Workloads with Amazon EMR
ODSC webinar "Kubeflow, MLFlow and Beyond — augmenting ML delivery" Stepan Pu...
"Building a Modern Data platform in the Cloud", Alex Casalboni, AWS Dev Day K...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
"Analyzing your web and application logs", Javier Ramirez, AWS Dev Day Kyiv 2...
"Resiliency and Availability Design Patterns for the Cloud", Sebastien Storma...
"Architecting SaaS solutions on AWS", Oleksandr Mykhalchuk, AWS Dev Day Kyiv ...
"Developing with .NET Core on AWS", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Scaling ML from 0 to millions of users", Julien Simon, AWS Dev Day Kyiv 2019
How to implement authorization in your backend with AWS IAM

[Expert Fridays] Python MeetUp - Леонид Блохин: "Нейросети на питоне: пфф easy"

  • 1. www.provectus.com A presentation of expertise we boast and services we render for partners across the board, around the globe. © Provectus, Inc.
  • 4. О чем пойдет речь • Немного вспомним нейросети • Поговорим о хорошем инструменте для машинного обучения • Поговорим о сервисе для хорошего инструмента для машинного обучения • Посмотрим, как используя эти радости, на питоне, в несколько строчек запилить годный машинлернинг с предоставлением на фронтенд простенького интерфейса для использования. www.provectus.com
  • 5. Немного о нейросетях • Один персептрон, или не один • Функция активации • Может быть немного математики х(у) = @#$% www.provectus.com
  • 6. Сферический персептрон в вакууме www.provectus.com
  • 7. Мозг здорового Крэнга один нейрон много нейронов www.provectus.com
  • 11. и почему же ИИ еще не захватил мир? www.provectus.com
  • 12. Инструмент для машин лёнинга • Apache Spark • MLlib www.provectus.com
  • 13. Apache Spark™ is a fast and general engine for large-scale data processing. www.provectus.com
  • 14. Spark MLlib ● Classification: logistic regression, naive Bayes,... ● Regression: generalized linear regression, isotonic regression,... ● Decision trees, random forests, and gradient-boosted trees ● Recommendation: alternating least squares (ALS) ● Clustering: K-means, Gaussian mixtures (GMMs),... ● Topic modeling: latent Dirichlet allocation (LDA) ● Feature transformations: standardization, normalization, hashing,... ● Model evaluation and hyper-parameter tuning ● ML Pipeline construction ● ML persistence: saving and loading models and Pipelines ● Survival analysis: accelerated failure time model ● Frequent itemset and sequential pattern mining: FP-growth, association rules, PrefixSpan ● Distributed linear algebra: singular value decomposition (SVD), principal component analysis (PCA),... ● Statistics: summary statistics, hypothesis testing,... www.provectus.com
  • 15. Сервис для хорошего инструмента для машинного обучения Mist Прелестные возможности для работы со спарком ● Spark 2.0.0 support! ● Spark Contexts orchestration ● Super parallel mode: multiple Spark contexts in separate JVMs ● HTTP & Messaging (MQTT) API ● Scala & Python Spark jobs support ● Support for Spark SQL and Hive ● High Availability and Fault Tolerance ● Self Healing after driver program failure ● Powerful logging ● Clear end-user API https://github.com/Hydrospheredata/mist www.provectus.com
  • 16. Предсказываем погоду • Данные сохраняем в паркет • Обучаем модельки нейросети по станциям • Предсказываем www.provectus.com
  • 17. у нас есть план, будем его придерживаться фронтенд мист спарк хадуп данные о погоде тренер данные весов предсказатель www.provectus.com
  • 18. сохраняем в паркет https://github.com/leonid133/python-spark-savetoparquet noaa data parquet вытаскиваем нужные поля фильтруем плохие данные группируем по станциям … >>подготавливаем www.provectus.com
  • 19. тренируем модельку from pyspark.ml.classification import MultilayerPerceptronClassifier # Load training data training = spark.read.parquet("parquet_data") mp = MultilayerPerceptronClassifier(blockSize=42, maxIter=300) # Fit the model model = pm.fit(training) model.save("model_name") www.provectus.com
  • 20. пишем джобу предсказатель from mist.mist_job import MistJob class SimpleContext(MistJob): def do_stuff(self, params): points_dist = params.values() data = getdata_by_point(points_dist) model = MultilayerPerceptronClassificationModel.load(data.modelel_path) prediction = model.transform(data.df) answer_obj = answer_df_to_map(prediction) #делаем красивый мап с предсказанием result = answer_obj return result www.provectus.com
  • 21. спрашиваем результат HTTP или MQTT POST http://localhost:2003/api/forecast { “points”:{"lat": 56.1241, “lng”: 42.3457,...} “distance”: 254 }' {"success":true,"payload": { “point”:{“lat”:56.1241, “lng”:42.3457} “sun”:30, “cloud”:75, “temperature”:-25} ... }, … } www.provectus.com