R interface to TensorFlow Hub

0
112
R interface to TensorFlow Hub


We are happy to announce that the primary model of tfhub is now on CRAN. tfhub is an R interface to TensorFlow Hub – a library for the publication, discovery, and consumption of reusable components of machine studying fashions. A module is a self-contained piece of a TensorFlow graph, together with its weights and property, that may be reused throughout completely different duties in a course of often known as switch studying.

The CRAN model of tfhub could be put in with:

After putting in the R package deal that you must set up the TensorFlow Hub python package deal. You can do it by working:

Getting began

The important perform of tfhub is layer_hub which works similar to a keras layer however means that you can load an entire pre-trained deep studying mannequin.

For instance you possibly can:

library(tfhub)
layer_mobilenet <- layer_hub(
  deal with = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/classification/4"
)

This will obtain the MobileNet mannequin pre-trained on the ImageNet dataset. tfhub fashions are cached domestically and don’t have to be downloaded the following time you employ the identical mannequin.

You can now use layer_mobilenet as a typical Keras layer. For instance you possibly can outline a mannequin:

library(keras)
enter <- layer_input(form = c(224, 224, 3))
output <- layer_mobilenet(enter)
mannequin <- keras_model(enter, output)
abstract(mannequin)
Model: "mannequin"
____________________________________________________________________
Layer (sort)                  Output Shape               Param #    
====================================================================
input_2 (EnterLayer)          [(None, 224, 224, 3)]      0          
____________________________________________________________________
keras_layer_1 (KerasLayer)    (None, 1001)               3540265    
====================================================================
Total params: 3,540,265
Trainable params: 0
Non-trainable params: 3,540,265
____________________________________________________________________

This mannequin can now be used to foretell Imagenet labels for a picture. For instance, let’s see the outcomes for the well-known Grace Hopper’s picture:

Grace Hopper
img <- image_load("https://blogs.rstudio.com/tensorflow/posts/images/grace-hopper.jpg", target_size = c(224,224)) %>% 
  image_to_array()
img <- img/255
dim(img) <- c(1, dim(img))
pred <- predict(mannequin, img)
imagenet_decode_predictions(pred[,-1,drop=FALSE])[[1]]
  class_name class_description    rating
1  n03763968  military_uniform 9.760404
2  n02817516          bearskin 5.922512
3  n04350905              swimsuit 5.729345
4  n03787032       mortarboard 5.400651
5  n03929855       pickelhaube 5.008665

TensorFlow Hub additionally gives many different pre-trained picture, textual content and video fashions.
All attainable fashions could be discovered on the TensorFlow hub web site.

TensorFlow Hub

You can discover extra examples of layer_hub utilization within the following articles on the TensorFlow for R web site:

Usage with Recipes and the Feature Spec API

tfhub additionally gives recipes steps to make
it simpler to make use of pre-trained deep studying fashions in your machine studying workflow.

For instance, you possibly can outline a recipe that makes use of a pre-trained textual content embedding mannequin with:

rec <- recipe(obscene ~ comment_text, information = practice) %>%
  step_pretrained_text_embedding(
    comment_text,
    deal with = "https://tfhub.dev/google/tf2-preview/gnews-swivel-20dim-with-oov/1"
  ) %>%
  step_bin2factor(obscene)

You can see an entire working instance right here.

You also can use tfhub with the brand new Feature Spec API applied in tfdatasets. You can see an entire instance right here.

We hope our readers have enjoyable experimenting with Hub fashions and/or can put them to good use. If you run into any issues, tell us by creating a problem within the tfhub repository

Reuse

Text and figures are licensed below Creative Commons Attribution CC BY 4.0. The figures which were reused from different sources do not fall below this license and could be acknowledged by a notice of their caption: “Figure from …”.

Citation

For attribution, please cite this work as

Falbel (2019, Dec. 18). RStudio AI Blog: tfhub: R interface to TensorFlow Hub. Retrieved from https://blogs.rstudio.com/tensorflow/posts/2019-12-18-tfhub-0.7.0/

BibTeX quotation

@misc{tfhub,
  writer = {Falbel, Daniel},
  title = {RStudio AI Blog: tfhub: R interface to TensorFlow Hub},
  url = {https://blogs.rstudio.com/tensorflow/posts/2019-12-18-tfhub-0.7.0/},
  12 months = {2019}
}

LEAVE A REPLY

Please enter your comment!
Please enter your name here