33.9 C
Colombia
lunes, julio 7, 2025

Weblog de Posit AI: TensorFlow y Keras 2.9



Weblog de Posit AI: TensorFlow y Keras 2.9

la liberación de Aprendizaje profundo con R, 2.ª edición coincide con los nuevos lanzamientos de TensorFlow y Keras. Estas versiones aportan muchas mejoras que permiten un código R más idiomático y conciso.

En primer lugar, el conjunto de métodos tensoriales para genéricos de base R se ha ampliado enormemente. 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] kind        sqrt        str         sum         t          
[66] tan         tanpi      

Esto significa que a menudo puedes escribir el mismo código para los tensores de TensorFlow que para las matrices R. Por ejemplo, considere esta pequeña función del Capítulo 11 del libro:

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

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

En la misma línea, esta versión de Keras trae consigo un refinamiento en la forma en que se definen las extensiones de clases 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()etcétera. Esta nueva interfaz simplifica sustancialmente la cantidad de código repetitivo necesario para definir extensiones personalizadas de Keras: una agradable interfaz R que sirve como fachada sobre la mecánica de subclasificar clases de Python. Esta nueva interfaz es el yang del yin de %py_class%–una forma de imitar la sintaxis de definición de clases de Python en R. Por supuesto, la API “sin procesar” para convertir un
R6Class() a Python vía r_to_py() todavía está disponible para usuarios que requieren management whole.

Esta versión también trae consigo una gran cantidad de pequeñas mejoras en toda la interfaz de Keras R: actualizado print() y plot() métodos para modelos, mejoras en 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 de la versión completas de los paquetes R aquí:

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

¡Gracias por leer!

Foto por Rafael Salvaje
en
desempaquetar

Reutilizar

El texto y las figuras tienen licencia Inventive Commons Attribution. CC POR 4.0. Las figuras que han sido reutilizadas de otras fuentes no están cubiertas por esta licencia y pueden reconocerse por una nota en su pie de foto: “Figura de…”.

Citación

Para 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

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles