Interface r para o hub tensorflow


Temos o prazer de anunciar que a primeira versão de tfhub está agora em Cran. O TFHUB é uma interface R para o Tensorflow Hub – uma biblioteca para a publicação, descoberta e consumo de partes reutilizáveis ​​dos modelos de aprendizado de máquina. Um módulo é uma peça independente de um gráfico de tensorflow, juntamente com seus pesos e ativos, que pode ser reutilizado em diferentes tarefas em um processo conhecido como aprendizado de transferência.

A versão cran do tfhub pode ser instalada com:

Depois de instalar o pacote R, você precisa instalar o pacote Python Hub Tensorflow. Você pode fazer isso correndo:

Começando

A função essencial do tfhub é layer_hub que funciona como um Keras Camada, mas permite carregar um modelo completo de aprendizado profundo pré-treinado.

Por exemplo, você pode:

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

Isso baixará o modelo MobileNet pré-treinado no conjunto de dados ImageNet. Os modelos TFHub são armazenados em cache localmente e não precisam ser baixados na próxima vez que você usar o mesmo modelo.

Agora você pode usar layer_mobilenet Como uma camada regular de Keras. Por exemplo, você pode definir um modelo:

library(keras)
enter <- layer_input(form = c(224, 224, 3))
output <- layer_mobilenet(enter)
mannequin <- keras_model(enter, output)
abstract(mannequin)
Mannequin: "mannequin"
____________________________________________________________________
Layer (kind)                  Output Form               Param #    
====================================================================
input_2 (InputLayer)          ((None, 224, 224, 3))      0          
____________________________________________________________________
keras_layer_1 (KerasLayer)    (None, 1001)               3540265    
====================================================================
Whole params: 3,540,265
Trainable params: 0
Non-trainable params: 3,540,265
____________________________________________________________________

Agora, esse modelo pode ser usado para prever rótulos do ImageNet para uma imagem. Por exemplo, vamos ver os resultados da famosa foto do Grace Hopper:

Interface r para o hub tensorflow
img <- image_load("https://blogs.rstudio.com/tensorflow/posts/pictures/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              go well with 5.729345
4  n03787032       mortarboard 5.400651
5  n03929855       pickelhaube 5.008665

O Tensorflow Hub também oferece muitos outros modelos de imagem, texto e vídeo pré-treinados. Todos os modelos possíveis podem ser encontrados no Hub Tensorflow website.

Hub Tensorflow

Você pode encontrar mais exemplos de layer_hub Uso nos seguintes artigos no website TensorFlow para R:

Uso com receitas e a API de especificação de recursos

O TfHub também oferece receitas Etapas para facilitar o uso de modelos de aprendizado profundo pré-treinado em seu fluxo de trabalho de aprendizado de máquina.

Por exemplo, você pode definir uma receita que usa um modelo de incorporação de texto pré-treinado com:

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

Você pode ver um exemplo completo de corrida aqui.

Você também pode usar o tfhub com o novo API de especificação de recursos implementado em tfdatasets. Você pode ver um exemplo completo aqui.

Esperamos que nossos leitores se divirtam experimentando modelos de hub e/ou possam usá -los em bom uso. Se você tiver algum problema, informe -nos criando um problema no repositório TFHUB

Reutilizar

Texto e números são licenciados sob atribuição do Artistic Commons CC por 4.0. Os números que foram reutilizados de outras fontes não se enquadram nesta licença e podem ser reconhecidos por uma nota em sua legenda: “Figura de …”.

Citação

Para atribuição, cite este trabalho como

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

Citação Bibtex

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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *