Weblog de Posit AI: TensorFlow y Keras 2.9



El lanzamiento de Aprendizaje profundo con R, 2.ª edición coincide con nuevos lanzamientos de TensorFlow y Keras. Estos lanzamientos traen muchas mejoras que permiten un código R más idiomático y conciso.

En primer lugar, el conjunto de métodos Tensor para los genéricos base R se ha ampliado considerablemente. El conjunto de genéricos de R que funcionan con TensorFlow Tensors ahora es bastante extenso:

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) type        sqrt        str         sum         t          
(66) tan         tanpi      

Esto significa que, a menudo, puede escribir el mismo código para TensorFlow Tensors que lo haría para arreglos R. Por ejemplo, considere esta pequeña función del Capítulo 11 del libro:

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

Tenga en cuenta que funciones como reweight_distribution() trabajar con vectores 1D R y tensores TensorFlow 1D, ya que exp(), log(), /y
sum() son todos genéricos de R con métodos para TensorFlow Tensors.

Del mismo modo, esta versión de Keras trae consigo un refinamiento en la forma en que se definen las extensiones de clase personalizadas para Keras. Parcialmente inspirado en el nuevo R7 sintaxis, hay una nueva familia de funciones: new_layer_class(), new_model_class(),
new_metric_class(), y así. Esta nueva interfaz simplifica sustancialmente la cantidad de código repetitivo necesario para definir extensiones de Keras personalizadas: una interfaz R agradable que sirve como fachada sobre la mecánica de las clases de subclases de Python. Esta nueva interfaz es el yang del yin de %py_class%–una forma de imitar la sintaxis de definición de clase de Python en R. Por supuesto, la API “en bruto” de convertir un
R6Class() a Python a través de r_to_py() todavía está disponible para los usuarios que requieren un management whole.

Esta versión también trae consigo una gran cantidad de pequeñas mejoras en la interfaz de Keras R: actualización print() y plot() métodos para modelos, mejoras para freeze_weights() y load_model_tf()nuevas utilidades exportadas como zip_lists() y %<>%. Y no olvidemos mencionar una nueva familia de funciones R para modificar la tasa de aprendizaje durante el entrenamiento, con un conjunto de programas integrados como
learning_rate_schedule_cosine_decay()complementado con una interfaz para crear horarios personalizados con new_learning_rate_schedule_class().

Puede encontrar las notas completas de la versión para los paquetes R aquí:

Sin embargo, las notas de lanzamiento de los paquetes R solo cuentan la mitad de la historia. Las interfaces de R para Keras y TensorFlow funcionan incorporando un proceso completo de Python en R (a través de la
reticulate paquete). Uno de los principales beneficios de este diseño es que los usuarios de R tienen acceso whole a todo tanto en R como en R. y Pitón. En otras palabras, la interfaz de R siempre tiene características similares a las de la interfaz de Python: todo lo que puede hacer con TensorFlow en Python, puede hacerlo en R con la misma facilidad. Esto significa que las notas de la versión para las versiones de Python de TensorFlow son igualmente relevantes para los usuarios de R:

¡Gracias por leer!

Foto por Rafael salvaje
en
Unsplash

Reutilizar

El texto y las figuras tienen licencia de Inventive Commons Attribution CC POR 4.0. Las figuras que se han reutilizado de otras fuentes no se incluyen en esta licencia y se pueden reconocer por una nota en su título: “Figura de…”.

Citación

Para la atribución, cite este trabajo como

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

cita BibTeX

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

Related Articles

Celera Movement lanza los servoaccionamientos más compactos de la empresa

Escucha este artículo Uno de los servoaccionamientos de la serie Denali...

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Same Category

Celera Movement lanza los servoaccionamientos más compactos de la empresa

Escucha este artículo Uno de los servoaccionamientos de la...

Este día en la historia del advertising and marketing de búsqueda: 2 de febrero

El renovado programa Google Companions finalmente se lanza En...

4 estrategias de advertising para emprendedores inmigrantes

Comenzar un negocio como inmigrante puede ser difícil....
spot_img

Stay in touch!

Follow our Instagram