Tensorflow ruby

jtoy
jtoysomatic
TENSORFLOW.RB
TENSORFLOW AND RUBY
by Jason Toy
PRESENTATION
machine learning
deep learning
tensors
tensorflow
tensorflow.rb
MY BACKGROUND - JASONTOY
my passion is general artificial intelligence - studied math and computer
science
generalists, program a little of everything, master of nothing
ruby and rails since 2005; machine learning since 2008
founded a couple of companies: rubynow, socmetrics - using ML and ruby
CEO of filepicker; not much ruby
exploring the intersection of machine learning,art, entrepreneurship
REGRESSION
CLASSIFIER
OTHER ML PROBLEMS
search/ranking
reinforcement learning / realtime learning
dimensionality reduction
grouping/clustering
generative models
TRADITIONAL ML ALGORITHMS
naive bayes
LDA
decision trees
ensemble methods
KNN
SVM
random forest
linear/logistic
regression
PCA
DEEP LEARNINGVSTRADITIONAL
MACHINE LEARNING
mostly automated feature extraction
DEEP LEARNINGVSTRADITIONAL
MACHINE LEARNING
much better at learning nonlinear relationships
DEEP LEARNING NEURONS
DEEP LEARNING ALGORITHMS
DEEP LEARNING ARCHITECTS
GENERATIVE DEEP MODELS
tweak-able output w/ tensors
DEEP DREAMING / INCEPTION
]
?{;.
/ΠK
;
I ACCIDENTALLY GAVETHE ANIMAL
BACK OF MY HEAD , BREATHING
DEEPLY .THERE WAS NO DOUBT IN
HER EYES ,AND I COULDTELL BY
THE LOOK ON HIS FACETHAT HE
DID N'T APPROVE OF WHAT WAS
HAPPENINGTO ME . IN FACT , IT
MUST HAVE BEEN ONE OFTHOSE
RARE OCCASIONS ,AS WELL AS A
PET ANIMAL . HER SCENT FILLED
THE AIR .THAT 'S WHAT SHE WAS
LOOKING FOR ,AND NOW SHE
HADTO STAY AWAKE LONG
ENOUGHTO DIG UPTHE LEASH
TENSORFLOW AND TENSORS
TENSORS
[ 1.000e+00 ,2.000e+00, 3.000e+00, 4.000e+00, 5.000e+00,
6.000e+00, 7.000e+00 ] #1st order tensor
[[1,123,323,21312,312312],[2,32,12313,123]] #2nd order tensor
nth order tensors
TENSORFLOW IS AN OPEN SOURCE
SOFTWARE LIBRARY FOR NUMERICAL
COMPUTATION USING DATA FLOW GRAPHS
TENSORFLOW HISTORY
2nd generation at Google
initial release
predecessors
~5 releases
slow….getting faster
many research firms groups using it. DeepMind just moved to it
HIGHLEVEL GOALS
simple / works out of the box
GPU / CPU
easy deploy
write once, deploy everywhere
distributed training
TENSORFLOW INTERNALS
DAG
typed: ints, multiple floating points, strings, etc
symbolic
client/master sessions
automatic gradient computation
TENSORFLOW DATAFLOW
TENSORFLOW OPERATIONS
TENSORFLOW.RB
PEOPLE WANT IT
https://github.com/tensorflow/tensorflow/issues/50
70+ comments; 40+ followers
WHY RUBY
ruby community are innovative and creative
ruby,rails, gems,sequel,eventmachine,nokogiri,……
chance for the ruby community to enter the ML/DL era
MACHINE LEARNING AND RUBY
NOW
results = `python model_inference.py #{safe_params}`
results = RestClient.get(“http://somatic.io/model/call”,params)
TENSORFLOW + SWIG
SWIG
SWIG is a software development tool that connects programs
written in C and C++ with a variety of high-level programming
languages.
20+ languages
ruby SWIG projects: libSVM, liblinear, any big ones?
HTTPS://GITHUB.COM/
SOMATICIO/TENSORFLOW.RB
GET STARTED
TENSORFLOW.RB
TENSORFLOW.RB
Tensorflow ruby
CURRENT STATUS
2-3 months away from stable
port more code
need help with protocol buffers
more tutorials
clean up API to match tensorflowISMs and rubyISMs
more tests
LOOKING FOR CONTRIBUTORS
open source! BSD licensed (Tensorflow is Apache licensed)
6 contributors now
great way to do a deep dive into deep learning :)
learn tensorflow internals
LOOKING FOR CONTRIBUTORS
SPECIALTHANKS
sciruby
Arafat Khan
somatic.io
Khor SoonHin
Sameer Deskmukh
all other contributors
–John Dewey
“Every great advance in science has issued from a new
audacity of imagination.”
code: https://github.com/somaticio/tensorflow.rb
Jason Toy
jason@somatic.io
http://somatic.io
@jtoy
QUESTIONS?
1 of 40

More Related Content

Viewers also liked(17)

Random Forest による分類Random Forest による分類
Random Forest による分類
Ken'ichi Matsui10.8K views

Recently uploaded(20)

ThroughputThroughput
Throughput
Moisés Armani Ramírez31 views
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver24 views
CXL at OCPCXL at OCP
CXL at OCP
CXL Forum203 views
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet49 views
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation24 views

Tensorflow ruby