RStudio AI Weblog: TensorFlow and Keras 2.9

on

|

views

and

comments



The discharge of Deep Studying with R, 2nd
Version
coincides with new releases of
TensorFlow and Keras. These releases deliver many refinements that permit
for extra idiomatic and concise R code.

First, the set of Tensor strategies for base R generics has vastly
expanded. The set of R generics that work with TensorFlow Tensors is now
fairly intensive:

strategies(class = "tensorflow.tensor")
 [1] -           !           !=          [           [<-        
 [6] *           /           &           %/%         %%         
[11] ^           +           <           <=          ==         
[16] >           >=          |           abs         acos       
[21] all         any         aperm       Arg         asin       
[26] atan        cbind       ceiling     Conj        cos        
[31] cospi       digamma     dim         exp         expm1      
[36] ground       Im          is.finite   is.infinite is.nan     
[41] size      lgamma      log         log10       log1p      
[46] log2        max         imply        min         Mod        
[51] print       prod        vary       rbind       Re         
[56] rep         spherical       signal        sin         sinpi      
[61] kind        sqrt        str         sum         t          
[66] tan         tanpi      

Which means that usually you possibly can write the identical code for TensorFlow Tensors
as you’d for R arrays. For instance, contemplate this small operate
from Chapter 11 of the e book:

reweight_distribution <-
  operate(original_distribution, temperature = 0.5) {
    original_distribution %>%
      { exp(log(.) / temperature) } %>%
      { . / sum(.) }
  }

Observe that capabilities like reweight_distribution() work with each 1D R
vectors and 1D TensorFlow Tensors, since exp(), log(), /, and
sum() are all R generics with strategies for TensorFlow Tensors.

In the identical vein, this Keras launch brings with it a refinement to the
approach customized class extensions to Keras are outlined. Partially impressed by
the brand new R7 syntax, there’s a
new household of capabilities: new_layer_class(), new_model_class(),
new_metric_class(), and so forth. This new interface considerably
simplifies the quantity of boilerplate code required to outline customized
Keras extensions—a pleasing R interface that serves as a facade over
the mechanics of sub-classing Python lessons. This new interface is the
yang to the yin of %py_class%–a approach to mime the Python class
definition syntax in R. In fact, the “uncooked” API of changing an
R6Class() to Python through r_to_py() remains to be accessible for customers that
require full management.

This launch additionally brings with it a cornucopia of small enhancements
all through the Keras R interface: up to date print() and plot() strategies
for fashions, enhancements to freeze_weights() and load_model_tf(),
new exported utilities like zip_lists() and %<>%. And let’s not
overlook to say a brand new household of R capabilities for modifying the training
charge throughout coaching, with a set of built-in schedules like
learning_rate_schedule_cosine_decay(), complemented by an interface
for creating customized schedules with new_learning_rate_schedule_class().

You will discover the complete launch notes for the R packages right here:

The discharge notes for the R packages inform solely half the story nevertheless.
The R interfaces to Keras and TensorFlow work by embedding a full Python
course of in R (through the
reticulate bundle). One in all
the foremost advantages of this design is that R customers have full entry to
every part in each R and Python. In different phrases, the R interface
all the time has characteristic parity with the Python interface—something you possibly can
do with TensorFlow in Python, you are able to do in R simply as simply. This implies
the discharge notes for the Python releases of TensorFlow are simply as
related for R customers:

Thanks for studying!

Photograph by Raphael
Wild

on
Unsplash

Reuse

Textual content and figures are licensed underneath Artistic Commons Attribution CC BY 4.0. The figures which have been reused from different sources do not fall underneath this license and might be acknowledged by a notice of their caption: “Determine from …”.

Quotation

For attribution, please cite this work as

Kalinowski (2022, June 9). RStudio AI Weblog: TensorFlow and Keras 2.9. Retrieved from https://blogs.rstudio.com/tensorflow/posts/2022-06-09-tf-2-9/

BibTeX quotation

@misc{kalinowskitf29,
  creator = {Kalinowski, Tomasz},
  title = {RStudio AI Weblog: TensorFlow and Keras 2.9},
  url = {https://blogs.rstudio.com/tensorflow/posts/2022-06-09-tf-2-9/},
  yr = {2022}
}
Share this
Tags

Must-read

US investigates Waymo robotaxis over security round faculty buses | Waymo

The US’s primary transportation security regulator mentioned on Monday it had opened a preliminary investigation into about 2,000 Waymo self-driving automobiles after studies...

Driverless automobiles are coming to the UK – however the highway to autonomy has bumps forward | Self-driving automobiles

The age-old query from the again of the automotive feels simply as pertinent as a brand new period of autonomy threatens to daybreak:...

Heed warnings from Wolmar on robotaxis | Self-driving automobiles

In assessing the deserves of driverless taxis (Driverless taxis from Waymo will likely be on London’s roads subsequent yr, US agency proclaims, 15...

Recent articles

More like this

LEAVE A REPLY

Please enter your comment!
Please enter your name here