SlideShare a Scribd company logo
F# IN YOUR PIPE
COPENHAGEN R
Phil Trelford
@ptrelford
F#UNCTIONAL LONDONERS
Founded Feb 2010
800 Members
Meet every 2 weeks
Key topics:
 Functional Programming
 Machine Learning
 Apps and Games
http://meetup.com/fsharplondon
CASE STUDIES Phillip Trelford, @ptrelford
Copenhagen R, 2014
F# TOOLS FOR HALO 3
Questions
Controllable player skill distribution (slow down!)
Controllable skills distributions (re-ordering)
Simulations
Large scale simulation of 8,000,000,000 matches
Distributed computation – 15 machines for 2wks
Tools
Result viewer (Logged results: 52GB of data)
Real-time simulator of partial update
ADCENTER
Weeks of data in training:
7,000,000,000 impressions
2 weeks of CPU time during
sessions
2 wks x 7 days x 86,400 sec/day
Learning algorithm speed
requirement:
5,787 impression updates /sec
172.8 µs per impression update
TESTIMONIALS – F# IN
MACHINE LEARNING
Phillip Trelford, @ptrelford
Copenhagen R, 2014
FSHARP.ORG/TESTIMONIALS -
MICROSOFT
For a machine learning scientist, speed of experimentation is the
critical factor to optimize.
Compiling is fast but loading large amounts of data in memory takes a
long time.
With F#’s REPL, you only need to load the data once
and you can then code and explore in the interactive environment.
Unlike C# and C++, F# was designed for this mode of interaction.
- Patrice Simard, Microsoft
FSHARP.ORG/TESTIMONIALS -
AMYRIS BIOTECH
F# has been phenomenally useful.
I would be writing a lot of this in Python otherwise
and F# is more robust, 20x - 100x faster to run
and for anything but the most trivial programs,
faster to develop.
- Darren Platt, Amyris Biotechnology
LIVE DEMOS Phil Trelford, @ptrelford
Copenhagen R, 2014
PIPE IT
load(transform(extract(data)))
f3( f2( f1( x ) ) )
let (|>) x f = f x
x |> f1 |> f2 |> f3
data |> extract |> transform |> load
K-MEANS CLUSTERING ALGORITHM
(* K-Means Algorithm *)
/// Group all the vectors by the nearest center.
let classify centroids vectors =
vectors |> Array.groupBy (fun v -> centroids |> Array.minBy (distance v))
/// Repeatedly classify the vectors, starting with the seed centroids
let computeCentroids seed vectors =
seed |> Seq.iterate (fun centers -> classify centers vectors
|> Array.map (snd >> average))
TYPE PROVIDERS
JSON
XML
CSV
Excel
SQL
R
MATLAB
Hadoop
…
CSV TYPE PROVIDER
R – TYPE PROVIDER
FSLAB
Data
Charting
Deedle
Math.Net
R Provider
RESOURCES Phil Trelford, @ptrelford
Copenhagen R, 2014
TRY IT BEFORE YOU BUY IT
BUY THE BOOK
JOIN THE COMMUNITY
F# Foundation
http://fsharp.org
Copenhagen F# Meetup
http://www.meetup.com/MoedegruppeFunktionelleKoebenhavnere/
Progressive F# Tutorials London
https://skillsmatter.com/conferences/1926-progressive-f-tutorials-
2014

More Related Content

PPTX
F# in Finance Tour
PPTX
Beyond lists - Copenhagen 2015
PPTX
24 hours later - FSharp Gotham 2015
PPTX
24 Hours Later - NCrafts Paris 2015
PPTX
Build a compiler in 2hrs - NCrafts Paris 2015
PPTX
Beyond Lists - Functional Kats Conf Dublin 2015
PPTX
Machine learning from disaster - GL.Net 2015
PPTX
F# for Trading - Øredev 2013
F# in Finance Tour
Beyond lists - Copenhagen 2015
24 hours later - FSharp Gotham 2015
24 Hours Later - NCrafts Paris 2015
Build a compiler in 2hrs - NCrafts Paris 2015
Beyond Lists - Functional Kats Conf Dublin 2015
Machine learning from disaster - GL.Net 2015
F# for Trading - Øredev 2013

Viewers also liked (20)

PPTX
F# for C# devs - Copenhagen .Net 2015
PPTX
F# for Trading - QuantLabs 2014
PPTX
Keyboard warriors #1 copenhagen performance
PPTX
Building cross platform games with Xamarin - Birmingham 2015
PPTX
F# eXchange Keynote 2016
PPTX
Generative Art - Functional Vilnius 2015
PPTX
FSharp eye for the Haskell guy - London 2015
PDF
Building a web application with ontinuation monads
PPTX
FSharp On The Desktop - Birmingham FP 2015
PPTX
F# Eye 4 the C# Guy - DDD Cambridge Nights 2014
PPTX
Creating own language made easy
PPTX
Write Your Own Compiler in 24 Hours
PPTX
FParsec Hands On - F#unctional Londoners 2014
KEY
Let's build a parser!
PPTX
All your types are belong to us!
PPTX
Real World F# - SDD 2015
PPTX
F# for C# devs - SDD 2015
PPTX
Ready, steady, cross platform games - ProgNet 2015
PPTX
Building a game in a day
PPTX
Mobile F#un
F# for C# devs - Copenhagen .Net 2015
F# for Trading - QuantLabs 2014
Keyboard warriors #1 copenhagen performance
Building cross platform games with Xamarin - Birmingham 2015
F# eXchange Keynote 2016
Generative Art - Functional Vilnius 2015
FSharp eye for the Haskell guy - London 2015
Building a web application with ontinuation monads
FSharp On The Desktop - Birmingham FP 2015
F# Eye 4 the C# Guy - DDD Cambridge Nights 2014
Creating own language made easy
Write Your Own Compiler in 24 Hours
FParsec Hands On - F#unctional Londoners 2014
Let's build a parser!
All your types are belong to us!
Real World F# - SDD 2015
F# for C# devs - SDD 2015
Ready, steady, cross platform games - ProgNet 2015
Building a game in a day
Mobile F#un
Ad

Similar to F# in your pipe (20)

PPTX
Tensorflow Ecosystem
PPTX
FSharp in the enterprise
PPTX
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
PPTX
Terraform training 🎒 - Basic
PDF
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
PDF
Productive OpenCL with Intel Xeon Phi Coprocessors
PDF
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
PDF
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
PDF
[計一] Basic r programming final0918
PDF
[計一] Basic r programming final0918
PPTX
F# for C# devs - Leeds Sharp 2015
PDF
mlp10-sem2.pdf
ODP
biopython, doctest and makefiles
PDF
running Tensorflow in Production
PPTX
Afl - 4fun and pr0fit
PPT
Track A-Compilation guiding and adjusting - IBM
PDF
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
PPTX
F# for C# devs - NDC Oslo 2015
PPT
Cs 568 Spring 10 Lecture 5 Estimation
PPSX
Tensorflow Ecosystem
FSharp in the enterprise
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Terraform training 🎒 - Basic
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
Productive OpenCL with Intel Xeon Phi Coprocessors
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[計一] Basic r programming final0918
[計一] Basic r programming final0918
F# for C# devs - Leeds Sharp 2015
mlp10-sem2.pdf
biopython, doctest and makefiles
running Tensorflow in Production
Afl - 4fun and pr0fit
Track A-Compilation guiding and adjusting - IBM
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
F# for C# devs - NDC Oslo 2015
Cs 568 Spring 10 Lecture 5 Estimation
Ad

Recently uploaded (20)

PDF
Website Design Services for Small Businesses.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
Nekopoi APK 2025 free lastest update
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Cost to Outsource Software Development in 2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Website Design Services for Small Businesses.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Oracle Fusion HCM Cloud Demo for Beginners
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo Companies in India – Driving Business Transformation.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Weekly report ppt - harsh dattuprasad patel.pptx
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Nekopoi APK 2025 free lastest update
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Cost to Outsource Software Development in 2025
Design an Analysis of Algorithms II-SECS-1021-03
Wondershare Filmora 15 Crack With Activation Key [2025
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025

F# in your pipe

  • 1. F# IN YOUR PIPE COPENHAGEN R Phil Trelford @ptrelford
  • 2. F#UNCTIONAL LONDONERS Founded Feb 2010 800 Members Meet every 2 weeks Key topics:  Functional Programming  Machine Learning  Apps and Games http://meetup.com/fsharplondon
  • 3. CASE STUDIES Phillip Trelford, @ptrelford Copenhagen R, 2014
  • 4. F# TOOLS FOR HALO 3 Questions Controllable player skill distribution (slow down!) Controllable skills distributions (re-ordering) Simulations Large scale simulation of 8,000,000,000 matches Distributed computation – 15 machines for 2wks Tools Result viewer (Logged results: 52GB of data) Real-time simulator of partial update
  • 5. ADCENTER Weeks of data in training: 7,000,000,000 impressions 2 weeks of CPU time during sessions 2 wks x 7 days x 86,400 sec/day Learning algorithm speed requirement: 5,787 impression updates /sec 172.8 µs per impression update
  • 6. TESTIMONIALS – F# IN MACHINE LEARNING Phillip Trelford, @ptrelford Copenhagen R, 2014
  • 7. FSHARP.ORG/TESTIMONIALS - MICROSOFT For a machine learning scientist, speed of experimentation is the critical factor to optimize. Compiling is fast but loading large amounts of data in memory takes a long time. With F#’s REPL, you only need to load the data once and you can then code and explore in the interactive environment. Unlike C# and C++, F# was designed for this mode of interaction. - Patrice Simard, Microsoft
  • 8. FSHARP.ORG/TESTIMONIALS - AMYRIS BIOTECH F# has been phenomenally useful. I would be writing a lot of this in Python otherwise and F# is more robust, 20x - 100x faster to run and for anything but the most trivial programs, faster to develop. - Darren Platt, Amyris Biotechnology
  • 9. LIVE DEMOS Phil Trelford, @ptrelford Copenhagen R, 2014
  • 10. PIPE IT load(transform(extract(data))) f3( f2( f1( x ) ) ) let (|>) x f = f x x |> f1 |> f2 |> f3 data |> extract |> transform |> load
  • 11. K-MEANS CLUSTERING ALGORITHM (* K-Means Algorithm *) /// Group all the vectors by the nearest center. let classify centroids vectors = vectors |> Array.groupBy (fun v -> centroids |> Array.minBy (distance v)) /// Repeatedly classify the vectors, starting with the seed centroids let computeCentroids seed vectors = seed |> Seq.iterate (fun centers -> classify centers vectors |> Array.map (snd >> average))
  • 14. R – TYPE PROVIDER
  • 16. RESOURCES Phil Trelford, @ptrelford Copenhagen R, 2014
  • 17. TRY IT BEFORE YOU BUY IT
  • 19. JOIN THE COMMUNITY F# Foundation http://fsharp.org Copenhagen F# Meetup http://www.meetup.com/MoedegruppeFunktionelleKoebenhavnere/ Progressive F# Tutorials London https://skillsmatter.com/conferences/1926-progressive-f-tutorials- 2014

Editor's Notes

  • #14: http://fsharp.github.io/FSharp.Data/library/CsvProvider.html http://clear-lines.com/blog/post/Random-Forest-classification-in-F-first-cut.aspx