25.4 C
Colombia
martes, julio 8, 2025

R Interfaz para TensorFlow Hub


Nos complace anunciar que la primera versión de tfhub ahora está en Cran. TFHUB es una interfaz R para TensorFlow Hub: una biblioteca para la publicación, el descubrimiento y el consumo de partes reutilizables de los modelos de aprendizaje automático. Un módulo es una pieza autónoma de un gráfico de flujo tensor, junto con sus pesos y activos, que se puede reutilizar en diferentes tareas en un proceso conocido como aprendizaje de transferencia.

La versión CRAN de TFHUB se puede instalar con:

Después de instalar el paquete R, debe instalar el paquete TensorFlow Hub Python. Puedes hacerlo ejecutando:

Empezando

La función esencial de tfhub es layer_hub que funciona como un keras Capa, pero le permite cargar un modelo de aprendizaje profundo pre-entrenado completo.

Por ejemplo, puedes:

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

Esto descargará el modelo MobileNet previamente entrenado en el conjunto de datos ImageNet. Los modelos TFHUB se almacenan en caché localmente y no necesitan descargarse la próxima vez que use el mismo modelo.

Ahora puedes usar layer_mobilenet Como una capa routine de Keras. Por ejemplo, puede definir un 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    
====================================================================
Complete params: 3,540,265
Trainable params: 0
Non-trainable params: 3,540,265
____________________________________________________________________

Este modelo ahora se puede usar para predecir las etiquetas de Imagenet para una imagen. Por ejemplo, veamos los resultados de la famosa foto de Grace Hopper:

Gracia tolva
img <- image_load("https://blogs.rstudio.com/tensorflow/posts/photos/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 también ofrece muchos otros modelos de imagen, texto y video previamente capacitados. Todos los modelos posibles se pueden encontrar en el TensorFlow Hub sitio internet.

Centro de tensorflow

Puedes encontrar más ejemplos de layer_hub Uso en los siguientes artículos en el sitio internet de TensorFlow for R:

Uso con recetas y la API de especificaciones de características

tfhub también ofrece recetas Pasos para facilitar el uso de modelos de aprendizaje profundo previamente capacitados en su flujo de trabajo de aprendizaje automático.

Por ejemplo, puede definir una receta que utilice un modelo de incrustación de texto previamente capacitado con:

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

Puedes ver un ejemplo completo de ejecución aquí.

También puedes usar tfhub con el nuevo API de especificaciones de características implementado en tfdatasets. Puedes ver un ejemplo completo aquí.

Esperamos que nuestros lectores se diviertan experimentando con modelos Hub y/o puedan hacerlos en buen estado. Si se encuentra con algún problema, avísenos creando un problema en el repositorio de TFHUB

Reutilizar

El texto y las cifras tienen licencia bajo la atribución de Inventive Commons CC por 4.0. Las cifras que se han reutilizado de otras fuentes no caen bajo esta licencia y pueden ser reconocidas por una nota en su título: “Figura de …”.

Citación

Para la atribución, cita este trabajo 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 de 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}
}

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles