SlideShare a Scribd company logo
1 of 20
Download to read offline
Sebastian JORDAN MONTANO 1

sebastian.jordan@inria.fr
pharo-ai
Oleksandr ZAITSEV 2,1

oleksandr.zaitsev@arolla.fr
1 Inria, Univ. Lille, CNRS, Centrale Lille, UMR 9189 - CRIStAL
2 Arolla, Paris
August 2022
a modular library for shallow machine
learning in Pharo
github.com/pharo-ai
We introduce pharo-ai v0.8
Artificial Intelligence
Machine Learning
Deep
Learning
Techniques which enable
machines to mimic human
behaviour
Subset of AI techniques
which use statistical methods
to enable machines to
improve with experience
Subset of ML which uses
deep neural networks
(A*, knowledge based, …)
(linear regression, k-means,
naive bayes, …)
(convolutional networks,
GAN, Seq2seq, …)
3
Machine Learning
Supervised Unsupervised
- No labeled data


- Extract patterns
from the data
- Labeled data


- First learn from
examples, then
apply to new data
(classification,
regression,…)
(clustering, anomaly
detection,…)
4
Why do we need a ML library in Pharo
- We would like to contribute to the work that is currently being
developed by different people (Univ. Chile, Object Profile-Chile,
PolyMathOrg, Semantics-Bolivia, CIRAD-France).
- We want to provide tools for the Pharo community people
interested in doing ML and AI.
5
How do we position ourselves
Python R Pharo
Data Analysis &
Manipulation
pandas data.frame, dplyr DataFrame
Algebra & Statistics numpy, scipy MASS, SparseM PolyMath
Shallow Learning scikit-learn caret, ml3 pharo-ai
Deep Learning TensorFlow, Keras TensorFlow, Keras TensorFlow, Keras
Visualisation matplotlib ggplot Roassal
6
Algorithms and libraries available in
pharo-ai ecosystem
8
Ready to be used
Work in progress
DataFrame
Datasets
Normalisation
Random Data
Partitioner
Data Generator
Data manipulation
Gaussian
Mixture Models
K-Nearest
Neighbours
Hierarchical
Clustering
K-Means
Clustering
Linear
Regression
Logistic
Regression
Support Vector
Machines
Regression
Principal
Component
Analysis
Metrics
PolyMath
Fast Linear
Algebra
Scienti
fi
c Computation
Edit Distances
9
Ready to be used
Work in progress
Random Forest
Decision Trees
Naive Bayes
Classi
fi
er
Classi
fi
cation
OpenAI
OpenAI Binding
Graph Algorithms
Graph Algorithms
A-Priori
Data Mining
Natural Language Processing
Stop Words
N-Gram
Language Model
Spelling
Correction
TF-IDF
10
Ready to be used
Work in progress
DataFrame
Datasets
Normalisati
on
Random Data
Data
Generator
Data
Gaussian
Mixture Models
K-
Nearest
Hierarchical
Clustering
K-Means
Clustering
Linear
Regression
Logistic
Regression
Support
Vector Machines
Regression
Principal
Component
Metrics
PolyMath
Fast
Linear Algebra
Scienti
fi
c Computation
Edit
Distances
Random
Forest
Decision
Trees
Naive
Bayes
Classi
fi
ca
OpenAI
OpenAI
Graph
Algorithms
Graph
A-Priori
Data Mining
Natural Language
Stop Words
N-
Gram
Spelling
Correction
TF-IDF
Inspector Extensions for DataFrame
11
Inspector Extensions for DataFrame
12
Other Machine Learning Projects
13
pharo-ai wiki
14
Linear Regression benchmarks
16
Dataset size
Name Columns Rows Size
Small 200,000 20 82 Mb
Medium 1,000,000 20 411 Mb
Large 5,000,000 20 2,06 Gb
17
Pharo & LAPACK vs Scikit-learn
Time
in
seconds
(less
is
better)
0
4
8
12
16
Pharo & LAPACK scikit-learn
Small Dataset Medium Dataset Large Dataset
8x faster
5x faster
8x faster
18
Pure Pharo vs Python
Time
in
seconds
(less
is
better)
0
10000
20000
30000
40000
Pure Pharo Pure Python
Small Dataset Medium Dataset
5x faster
15x faster
19
Time in seconds (less is better)
Small
Medium
Pure Pharo vs Pharo & LAPACK
1820 times faster
2103 times faster
Pharo Pharo & LAPACK
19min40sec 1h44min
0.6sec 2.9sec
Help
Visit Us !


Play, Use, and Contribute
20
https://github.com/pharo-ai/wiki
pharo-ai wiki:
Start here

More Related Content

Similar to Pharo-AI

Machine Learning and Real-World Applications
Machine Learning and Real-World ApplicationsMachine Learning and Real-World Applications
Machine Learning and Real-World ApplicationsMachinePulse
 
Cheat sheets for AI
Cheat sheets for AICheat sheets for AI
Cheat sheets for AINcib Lotfi
 
Data science-toolchain
Data science-toolchainData science-toolchain
Data science-toolchainJie-Han Chen
 
Smart Data Webinar: Machine Learning Update
Smart Data Webinar: Machine Learning UpdateSmart Data Webinar: Machine Learning Update
Smart Data Webinar: Machine Learning UpdateDATAVERSITY
 
Distributed Deep Learning with Hadoop and TensorFlow
Distributed Deep Learning with Hadoop and TensorFlowDistributed Deep Learning with Hadoop and TensorFlow
Distributed Deep Learning with Hadoop and TensorFlowJan Wiegelmann
 
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkRunning Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkDatabricks
 
Flutter + tensor flow lite = awesome sauce
Flutter + tensor flow lite = awesome sauceFlutter + tensor flow lite = awesome sauce
Flutter + tensor flow lite = awesome sauceAmit Sharma
 
Artificial Intelligence Short Question and Answer
Artificial Intelligence Short Question and AnswerArtificial Intelligence Short Question and Answer
Artificial Intelligence Short Question and AnswerNaiyan Noor
 
Machine Learning Techniques in Python Dissertation - Phdassistance
Machine Learning Techniques in Python Dissertation - PhdassistanceMachine Learning Techniques in Python Dissertation - Phdassistance
Machine Learning Techniques in Python Dissertation - PhdassistancePhD Assistance
 
Which library should you choose for data-science? That's the question!
Which library should you choose for data-science? That's the question!Which library should you choose for data-science? That's the question!
Which library should you choose for data-science? That's the question!Anastasia Bobyreva
 
Machine Learning with Spark
Machine Learning with SparkMachine Learning with Spark
Machine Learning with Sparkelephantscale
 
Deep Learning for Autonomous Driving
Deep Learning for Autonomous DrivingDeep Learning for Autonomous Driving
Deep Learning for Autonomous DrivingJan Wiegelmann
 
Artificial Intelligence IA at the service of Laboratories
Artificial Intelligence IA at the service of LaboratoriesArtificial Intelligence IA at the service of Laboratories
Artificial Intelligence IA at the service of LaboratoriesYvon Gervaise
 
Conférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdf
Conférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdfConférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdf
Conférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdfYvonGervaise
 
Machine Learning and Hadoop
Machine Learning and HadoopMachine Learning and Hadoop
Machine Learning and HadoopJosh Patterson
 
Data coffee - Support vector machine usage with complex data
Data coffee - Support vector machine usage with complex dataData coffee - Support vector machine usage with complex data
Data coffee - Support vector machine usage with complex dataDr. Branislav Majerník
 

Similar to Pharo-AI (20)

Machine Learning and Real-World Applications
Machine Learning and Real-World ApplicationsMachine Learning and Real-World Applications
Machine Learning and Real-World Applications
 
Cheat sheets for AI
Cheat sheets for AICheat sheets for AI
Cheat sheets for AI
 
Data science-toolchain
Data science-toolchainData science-toolchain
Data science-toolchain
 
Smart Data Webinar: Machine Learning Update
Smart Data Webinar: Machine Learning UpdateSmart Data Webinar: Machine Learning Update
Smart Data Webinar: Machine Learning Update
 
Distributed Deep Learning with Hadoop and TensorFlow
Distributed Deep Learning with Hadoop and TensorFlowDistributed Deep Learning with Hadoop and TensorFlow
Distributed Deep Learning with Hadoop and TensorFlow
 
Python libraries
Python librariesPython libraries
Python libraries
 
Intro on ML @ NECST
Intro on ML @ NECSTIntro on ML @ NECST
Intro on ML @ NECST
 
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkRunning Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
 
Flutter + tensor flow lite = awesome sauce
Flutter + tensor flow lite = awesome sauceFlutter + tensor flow lite = awesome sauce
Flutter + tensor flow lite = awesome sauce
 
Artificial Intelligence Short Question and Answer
Artificial Intelligence Short Question and AnswerArtificial Intelligence Short Question and Answer
Artificial Intelligence Short Question and Answer
 
Machine Learning Techniques in Python Dissertation - Phdassistance
Machine Learning Techniques in Python Dissertation - PhdassistanceMachine Learning Techniques in Python Dissertation - Phdassistance
Machine Learning Techniques in Python Dissertation - Phdassistance
 
Which library should you choose for data-science? That's the question!
Which library should you choose for data-science? That's the question!Which library should you choose for data-science? That's the question!
Which library should you choose for data-science? That's the question!
 
AI meets Big Data
AI meets Big DataAI meets Big Data
AI meets Big Data
 
Machine Learning with Spark
Machine Learning with SparkMachine Learning with Spark
Machine Learning with Spark
 
Deep Learning for Autonomous Driving
Deep Learning for Autonomous DrivingDeep Learning for Autonomous Driving
Deep Learning for Autonomous Driving
 
Artificial Intelligence IA at the service of Laboratories
Artificial Intelligence IA at the service of LaboratoriesArtificial Intelligence IA at the service of Laboratories
Artificial Intelligence IA at the service of Laboratories
 
Conférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdf
Conférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdfConférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdf
Conférence Y. GervaiseEN1st Green Analytical Y. Gervaise.pdf
 
Machine Learning and Hadoop
Machine Learning and HadoopMachine Learning and Hadoop
Machine Learning and Hadoop
 
Data coffee - Support vector machine usage with complex data
Data coffee - Support vector machine usage with complex dataData coffee - Support vector machine usage with complex data
Data coffee - Support vector machine usage with complex data
 
Data Science.pptx
Data Science.pptxData Science.pptx
Data Science.pptx
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

Pharo-AI

  • 1. Sebastian JORDAN MONTANO 1 sebastian.jordan@inria.fr pharo-ai Oleksandr ZAITSEV 2,1 oleksandr.zaitsev@arolla.fr 1 Inria, Univ. Lille, CNRS, Centrale Lille, UMR 9189 - CRIStAL 2 Arolla, Paris August 2022
  • 2. a modular library for shallow machine learning in Pharo github.com/pharo-ai We introduce pharo-ai v0.8
  • 3. Artificial Intelligence Machine Learning Deep Learning Techniques which enable machines to mimic human behaviour Subset of AI techniques which use statistical methods to enable machines to improve with experience Subset of ML which uses deep neural networks (A*, knowledge based, …) (linear regression, k-means, naive bayes, …) (convolutional networks, GAN, Seq2seq, …) 3
  • 4. Machine Learning Supervised Unsupervised - No labeled data - Extract patterns from the data - Labeled data - First learn from examples, then apply to new data (classification, regression,…) (clustering, anomaly detection,…) 4
  • 5. Why do we need a ML library in Pharo - We would like to contribute to the work that is currently being developed by different people (Univ. Chile, Object Profile-Chile, PolyMathOrg, Semantics-Bolivia, CIRAD-France). - We want to provide tools for the Pharo community people interested in doing ML and AI. 5
  • 6. How do we position ourselves Python R Pharo Data Analysis & Manipulation pandas data.frame, dplyr DataFrame Algebra & Statistics numpy, scipy MASS, SparseM PolyMath Shallow Learning scikit-learn caret, ml3 pharo-ai Deep Learning TensorFlow, Keras TensorFlow, Keras TensorFlow, Keras Visualisation matplotlib ggplot Roassal 6
  • 7. Algorithms and libraries available in pharo-ai ecosystem
  • 8. 8 Ready to be used Work in progress DataFrame Datasets Normalisation Random Data Partitioner Data Generator Data manipulation Gaussian Mixture Models K-Nearest Neighbours Hierarchical Clustering K-Means Clustering Linear Regression Logistic Regression Support Vector Machines Regression Principal Component Analysis Metrics PolyMath Fast Linear Algebra Scienti fi c Computation Edit Distances
  • 9. 9 Ready to be used Work in progress Random Forest Decision Trees Naive Bayes Classi fi er Classi fi cation OpenAI OpenAI Binding Graph Algorithms Graph Algorithms A-Priori Data Mining Natural Language Processing Stop Words N-Gram Language Model Spelling Correction TF-IDF
  • 10. 10 Ready to be used Work in progress DataFrame Datasets Normalisati on Random Data Data Generator Data Gaussian Mixture Models K- Nearest Hierarchical Clustering K-Means Clustering Linear Regression Logistic Regression Support Vector Machines Regression Principal Component Metrics PolyMath Fast Linear Algebra Scienti fi c Computation Edit Distances Random Forest Decision Trees Naive Bayes Classi fi ca OpenAI OpenAI Graph Algorithms Graph A-Priori Data Mining Natural Language Stop Words N- Gram Spelling Correction TF-IDF
  • 11. Inspector Extensions for DataFrame 11
  • 12. Inspector Extensions for DataFrame 12
  • 13. Other Machine Learning Projects 13
  • 16. 16 Dataset size Name Columns Rows Size Small 200,000 20 82 Mb Medium 1,000,000 20 411 Mb Large 5,000,000 20 2,06 Gb
  • 17. 17 Pharo & LAPACK vs Scikit-learn Time in seconds (less is better) 0 4 8 12 16 Pharo & LAPACK scikit-learn Small Dataset Medium Dataset Large Dataset 8x faster 5x faster 8x faster
  • 18. 18 Pure Pharo vs Python Time in seconds (less is better) 0 10000 20000 30000 40000 Pure Pharo Pure Python Small Dataset Medium Dataset 5x faster 15x faster
  • 19. 19 Time in seconds (less is better) Small Medium Pure Pharo vs Pharo & LAPACK 1820 times faster 2103 times faster Pharo Pharo & LAPACK 19min40sec 1h44min 0.6sec 2.9sec Help
  • 20. Visit Us ! 
 Play, Use, and Contribute 20 https://github.com/pharo-ai/wiki pharo-ai wiki: Start here