<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>cloudml on R Views</title>
    <link>https://rviews.rstudio.com/tags/cloudml/</link>
    <description>Recent content in cloudml on R Views</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 14 Feb 2018 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://rviews.rstudio.com/tags/cloudml/" rel="self" type="application/rss+xml" />
    
    
    
    
    <item>
      <title>Deep learning at rstudio::conf 2018</title>
      <link>https://rviews.rstudio.com/2018/02/14/deep-learning-rstudio-conf-2018/</link>
      <pubDate>Wed, 14 Feb 2018 00:00:00 +0000</pubDate>
      
      <guid>https://rviews.rstudio.com/2018/02/14/deep-learning-rstudio-conf-2018/</guid>
      <description>
        

&lt;p&gt;Two weeks ago, &lt;a href=&#34;https://www.rstudio.com/conference/&#34;&gt;rstudio::conf 2018&lt;/a&gt; was held in San Diego. We had 1,100 people attend the sold-out event.  In this post, I summarize my experience of the talks on the topic of deep learning with R, including the keynote by &lt;a href=&#34;https://www.linkedin.com/profile/view?id=10843566/&#34;&gt;J.J. Allaire&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;/post/2018-02-13_de_Vries_deep_learning_at_rstudio_conf_files/J.J._video.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;h1 id=&#34;keynote&#34;&gt;Keynote&lt;/h1&gt;

&lt;p&gt;The keynote on the second day was J.J. Allaire discussing &amp;ldquo;Machine Learning with Tensorflow and R&amp;rdquo;. In this talk, J.J. took us on a tour of how to use TensorFlow with R.  He started with the basics, e.g., what is a tensor (it&amp;rsquo;s an array), and explained how the tensors &amp;ldquo;flow&amp;rdquo; in a computation graph in the &lt;code&gt;TensorFlow&lt;/code&gt; library. The &lt;code&gt;tensorflow&lt;/code&gt; package in R is an interface to the &lt;code&gt;TensorFlow&lt;/code&gt; library, meaning you can access the full power of TensorFlow directly from R.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;/post/2018-02-13_de_Vries_deep_learning_at_rstudio_conf_files/tensors_flowing.gif&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;For several years, there has been a great deal of hype about deep learning, with multiple libraries (primarily written in Python and C++). Of these libraries, TensorFlow seems to get the dominant share of interest. R has always been a language that excels in its ability to interact with other languages, including Fortran, C++, and now Python. With the release of the &lt;code&gt;tensorflow&lt;/code&gt; package, R users can make full use of &lt;em&gt;all&lt;/em&gt; of the functions in TensorFlow.&lt;/p&gt;

&lt;p&gt;Advances in deep learning, including algorithms, GPU computing, and availability of large data sets, have combined for the enormous success of deep learning in many fields. This includes near-human-level performance in the fields of image classification, speech recognition, and machine translation, to name a few.&lt;/p&gt;

&lt;p&gt;However, J.J. points out that TensorFlow is quite a low-level mathematical library, and that most practitioners would benefit from writing their neural network code using &lt;code&gt;keras&lt;/code&gt;, a package that exposes a high-level API. Keras supports multiple back ends, including TensorFlow, CNTK and Theano. You can find out more at the &lt;a href=&#34;https://keras.rstudio.com/&#34;&gt;&lt;code&gt;keras&lt;/code&gt; package page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;J.J. concluded his talk by demonstrating several ways to deploy a &lt;code&gt;keras&lt;/code&gt; or &lt;code&gt;tensorflow&lt;/code&gt; model, including publishing to RStudio Connect.&lt;/p&gt;

&lt;p&gt;To find out more about J.J.&amp;rsquo;s talk, you can watch the &lt;a href=&#34;https://www.youtube.com/watch?v=atiYXm7JZv0&#34;&gt;keynote video&lt;/a&gt; or view the &lt;a href=&#34;https://rstd.io/ml-with-tensorflow-and-r/&#34;&gt;slides&lt;/a&gt;. You can also download the &lt;a href=&#34;https://github.com/rstudio/cheatsheets/raw/master/keras.pdf&#34;&gt;&lt;code&gt;keras&lt;/code&gt; cheat sheet&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&#34;other-talks&#34;&gt;Other talks&lt;/h1&gt;

&lt;p&gt;Following the keynote, the conference split into several tracks. I attended the session1: &amp;ldquo;interop&amp;rdquo;, which focused on interoperability between R and several deep-learning frameworks, including deployment options.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The first talk in this session was by &lt;a href=&#34;https://www.linkedin.com/in/michaelquinn32?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base%3B87KZ5Uq%2FQxSpdhxC0jwFkg%3D%3D&#34;&gt;Michael Quinn&lt;/a&gt; from Google. Michael discussed &amp;ldquo;large-scale machine learning using TensorFlow, BigQuery and Cloud ML&amp;rdquo;. Once you have a &lt;code&gt;keras&lt;/code&gt; or &lt;code&gt;tensorflow&lt;/code&gt; model, you can deploy this to &lt;a href=&#34;https://cloud.google.com/ml-engine/&#34;&gt;Google Cloud Machine Learning&lt;/a&gt; (Cloud ML). What I find interesting about this is that Cloud ML is a service designed for machine learning. Using this service, you can deploy models without having to stand up a virtual machine first.  You can do this deployment using R code with the &lt;a href=&#34;https://tensorflow.rstudio.com/tools/cloudml/articles/getting_started.html&#34;&gt;&lt;code&gt;cloudml&lt;/code&gt; package&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The next talk was by Javier Luraschi from RStudio, who spoke about &amp;ldquo;Deploying TensorFlow models with &lt;code&gt;tfdeploy&lt;/code&gt;&amp;rdquo;. The &lt;a href=&#34;https://tensorflow.rstudio.com/tools/tfdeploy/articles/introduction.html&#34;&gt;&lt;code&gt;tfdeploy&lt;/code&gt; package&lt;/a&gt; exposes a unified way to deploy models to several platforms, including &lt;a href=&#34;https://www.tensorflow.org/serving/https://www.tensorflow.org/serving/&#34;&gt;TensorFlow Serving&lt;/a&gt;, &lt;a href=&#34;https://tensorflow.rstudio.com/tools/cloudml/&#34;&gt;Cloud ML&lt;/a&gt;, and &lt;a href=&#34;https://www.rstudio.com/products/connect/&#34;&gt;RStudio Connect&lt;/a&gt;. Javier made his talk available as &lt;a href=&#34;http://rpubs.com/jluraschi/deploying-tensorflow-rstudio-conf&#34;&gt;slides&lt;/a&gt; as well as &lt;a href=&#34;https://github.com/rstudio/rstudio-conf/tree/master/2018/Deploying_TensorFlow_Models--Javier%20Luraschi&#34;&gt;code&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The final presentation was by &lt;a href=&#34;https://www.linkedin.com/in/alikzaidi/&#34;&gt;Ali Zaid&lt;/a&gt; from Microsoft, who talked about &amp;ldquo;Reinforcement learning in Minecraft with CNTK-R&amp;rdquo;. Ali showed how he trained a deep-learning model to control an agent in &lt;a href=&#34;https://minecraft.net/en-us/&#34;&gt;Minecraft&lt;/a&gt;, the popular online game. In his experiment, he taught the agent to navigate a maze, as well as understand the some natural language, e.g., &amp;ldquo;Pick up the red flowers&amp;rdquo;. He used the &lt;a href=&#34;https://github.com/Microsoft/CNTK-R&#34;&gt;&lt;code&gt;CNTK-R&lt;/code&gt; package&lt;/a&gt;, which wraps the &lt;a href=&#34;https://github.com/microsoft/cntk&#34;&gt;Microsoft Cognitive Toolkit (CNTK)&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;In conclusion, I&amp;rsquo;ll quote directly from J.J. Allaire&amp;rsquo;s keynote, in which he describes the key takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;TensorFlow is a new general-purpose numerical-computing library with lots to offer the R community.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Deep learning has made great progress and will likely increase in importance in various fields in the coming years.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;R now has a great set of APIs and supporting tools for using TensorFlow and doing deep learning.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

        &lt;script&gt;window.location.href=&#39;https://rviews.rstudio.com/2018/02/14/deep-learning-rstudio-conf-2018/&#39;;&lt;/script&gt;
      </description>
    </item>
    
  </channel>
</rss>
