31.8 C
Colombia
viernes, julio 4, 2025

Presentamos Keras 3 para R



Presentamos Keras 3 para R

Estamos encantados de presentar keras3la próxima versión del paquete Keras R. keras3 es una reconstrucción desde cero de {keras}manteniendo las queridas características del authentic mientras refina y simplifica la API en función de los valiosos conocimientos recopilados durante los últimos años.

Keras proporciona un conjunto de herramientas completo para crear modelos de aprendizaje profundo en R; nunca ha sido tan fácil crear, entrenar, evaluar e implementar modelos de aprendizaje profundo.

Instalación

Para instalar Keras 3:

https://keras.posit.co. Allí encontrará guías, tutoriales, páginas de referencia con ejemplos renderizados y una nueva galería de ejemplos. Todas las páginas y guías de referencia también están disponibles a través del sistema de ayuda integrado de R.

En un ecosistema que cambia rápidamente como el aprendizaje profundo, crear documentación y envoltorios excelentes una vez no es suficiente. También es necesario que existan flujos de trabajo que garanticen que la documentación esté actualizada con las dependencias anteriores. Para lograr esto, {keras3} incluye dos nuevas características de mantenimiento que garantizan que la documentación de R y los contenedores de funciones se mantengan actualizados:

  • Ahora tomamos instantáneas de la documentación ascendente y de la superficie API. Con cada versión, toda la documentación de R se basa en actualizaciones anteriores. Este flujo de trabajo garantiza que toda la documentación de R (guías, ejemplos, viñetas y páginas de referencia) y las firmas de funciones de R se mantengan actualizadas. Esta funcionalidad de instantánea y rebase se implementa en un nuevo paquete R independiente,
    {physician}que puede resultar útil para los mantenedores de paquetes R que necesitan mantener la documentación en paridad con las dependencias.

  • Todos los ejemplos y viñetas ahora se pueden evaluar y representar durante la compilación de un paquete. Esto garantiza que ningún código de ejemplo obsoleto o roto se convierta en una versión. También significa que todo el código de ejemplo de cara al usuario ahora sirve además como un conjunto ampliado de pruebas unitarias y de integración de instantáneas.

    La evaluación de código en viñetas y ejemplos todavía no está permitida según las restricciones de CRAN. Solucionamos la restricción de CRAN agregando pasos adicionales de compilación de paquetes que se prerenderizan
    ejemplos
    y
    viñetas.

Combinadas, estas dos características harán que sea sustancialmente más fácil para Keras en R mantener la paridad de características y la documentación actualizada con la API de Python para Keras.

Soporte multibackend

Poco después de su lanzamiento en 2015, Keras presentó soporte para los marcos de aprendizaje profundo más populares: TensorFlow, Theano, MXNet y CNTK. Con el tiempo, el panorama cambió; Theano, MXNet y CNTK se retiraron y TensorFlow ganó popularidad. En 2021, hace tres años, TensorFlow se convirtió en el principal y solo admitía el backend de Keras. Ahora, el panorama ha vuelto a cambiar.

Keras 3 trae el regreso del soporte multibackend. Elija un backend llamando a:

200 funcionesproporciona un conjunto completo de operaciones que normalmente se necesitan cuando se opera en matrices nd para aprendizaje profundo. La familia Operation reemplaza y amplía en gran medida la familia anterior de funciones de backend con el prefijo k_ en el {keras} paquete.

Las funciones de Ops le permiten escribir código independiente del backend. Proporcionan una API uniforme, independientemente de si está trabajando con tensores TensorFlow, matrices Jax, tensores Torch, tensores simbólicos Keras, matrices NumPy o matrices R.

Las funciones de operaciones:

  • todos comienzan con prefijo op_ (p.ej, op_stack())
  • todas son funciones puras (no producen efectos secundarios)
  • todos utilizan una indexación consistente basada en 1 y coaccionan los dobles a números enteros según sea necesario
  • todos son seguros de usar con cualquier backend (tensorflow, jax, torch, numpy)
  • todos son seguros de usar tanto en modo ansioso como en modo gráfico/jit/trazado

La API de operaciones incluye:

  • La totalidad de la API NumPy (numpy.*)
  • La API de TensorFlow NN (tf.nn.*)
  • Funciones comunes de álgebra lineal (un subconjunto de scipy.linalg.*)
  • Una subfamilia de transformadores de imágenes.
  • Un conjunto completo de funciones de pérdida.
  • ¡Y más!

Ingerir datos tabulares con layer_feature_space()

keras3 proporciona un nuevo conjunto de funciones para construir modelos que ingieren datos tabulares: layer_feature_space() y una familia de funciones transformadoras de características (prefijo, feature_) para construir modelos de Keras que puedan funcionar con datos tabulares, ya sea como entradas para un modelo de Keras o como pasos de preprocesamiento en una canalización de carga de datos (p. ej., un
tfdatasets::dataset_map()).

Ver el página de referencia y un ejemplo de uso completo ejemplo de extremo a extremo
para aprender más.

Nueva API de subclases

La API de subclasificación se ha perfeccionado y ampliado para más tipos de Keras. Defina subclases simplemente llamando: Layer(), Loss(), Metric(),
Callback(), Constraint(), Mannequin()y LearningRateSchedule(). Definiendo {R6} Las clases de proxy ya no son necesarias.

Además, la página de documentación para cada una de las funciones de subclasificación ahora contiene una lista completa de todos los atributos y métodos disponibles para ese tipo. Verificar
?Layer para ver qué es posible.

Guardar y exportar

Keras 3 trae una nueva API de exportación y serialización de modelos. Ahora es mucho más sencillo guardar y restaurar modelos, y también exportarlos para su publicación.

  • save_model()/load_model():
    Un nuevo formato de archivo de alto nivel (extensión: .keras) para guardar y restaurar un modelo completo.

    El formato de archivo es independiente del backend. Esto significa que puede convertir modelos entrenados entre backends, simplemente guardándolos con un backend y luego cargándolos con otro. Por ejemplo, entrene un modelo usando Jax y luego conviértalo a Tensorflow para exportarlo.

  • export_savedmodel():
    Exporte solo el paso directo de un modelo como un artefacto compilado para inferencia con Servicio TF o (pronto)
    Posicionar Conectar. Esta es la forma más sencilla de implementar un modelo de Keras para un servicio de inferencia eficiente y simultáneo, todo ello sin ninguna dependencia del tiempo de ejecución de R o Python.

  • Puntos de entrada de nivel inferior:

    • save_model_weights() / load_model_weights():
      guarde solo los pesos como .h5 archivos.
    • save_model_config() / load_model_config():
      guarde solo la arquitectura del modelo como un archivo json.
  • register_keras_serializable():
    Registre objetos personalizados para permitir que se serialicen y deserialicen.

  • serialize_keras_object() / deserialize_keras_object():
    Convierta cualquier objeto Keras en una lista R de tipos simples que sea seguro convertir a JSON o rds.

  • ver lo nuevo Viñeta de serialización y guardado
    para más detalles y ejemplos.

Nuevo random familia

una nueva familia de generadores de tensores aleatorios. Al igual que la familia Ops, estos funcionan con todos los backends. Además, todos los métodos que utilizan RNG admiten el uso sin estado cuando se pasa un generador de semillas. Esto permite el seguimiento y la compilación mediante marcos que tienen soporte especial para funciones puras y sin estado, como Jax. Ver
?random_seed_generator()

por ejemplo el uso.

Otras adiciones:

  • Nuevo form()

    Función, utilidad integral para trabajar con formas tensoriales en todos los contextos.

  • Nuevo y mejorado print(mannequin) y plot(mannequin) método. Vea algunos ejemplos de salida en el Guía API funcional

  • Todo nuevo match() barra de progreso y salida del visor de métricas en vivo, incluida la nueva compatibilidad con el modo oscuro en RStudio IDE.

  • Nuevo config

    familiaun conjunto seleccionado de funciones para obtener y establecer configuraciones globales de Keras.

  • Todas las demás familias de funciones se han ampliado con nuevos miembros:

Migrando desde {keras} a {keras3}

{keras3} reemplaza el {keras} paquete.

Si está escribiendo código nuevo hoy, puede comenzar a usarlo {keras3} de inmediato.

Si tiene un código heredado que usa {keras}le recomendamos que actualice el código de {keras3}. Para muchas funciones API de alto nivel, como layer_dense(), match()y keras_model()se requieren cambios mínimos o nulos. Sin embargo, hay una larga lista de pequeños cambios que es posible que deba realizar al actualizar el código que utiliza la API de Keras de nivel inferior. Algunos de ellos están documentados aquí:
https://keras.io/guides/migrate_to_keras_3/.

Si tiene problemas o tiene preguntas sobre la actualización, no dude en preguntar en https://github.com/rstudio/keras/points o
https://github.com/rstudio/keras/discussions.

El {keras} y {keras3} Los paquetes coexistirán mientras la comunidad realiza la transición. Durante la transición, {keras} continuará recibiendo actualizaciones de parches para compatibilidad con Keras v2, que continúa publicándose en PyPi bajo el nombre del paquete tf-keras. Después tf-keras ya no se mantiene, el {keras} El paquete será archivado.

Resumen

En resumen, {keras3} es una actualización sólida del paquete Keras R, que incorpora nuevas características y al mismo tiempo conserva la facilidad de uso y la funcionalidad del authentic. El nuevo soporte multibackend, el conjunto completo de funciones Ops, la API de serialización de modelos refinada y los flujos de trabajo de documentación actualizados permiten a los usuarios aprovechar fácilmente los últimos desarrollos en la comunidad de aprendizaje profundo.

Si es un usuario experimentado de Keras o recién comienza su viaje de aprendizaje profundo, Keras 3 proporciona las herramientas y la flexibilidad para construir, entrenar e implementar modelos con facilidad y confianza. A medida que hacemos la transición de Keras 2 a Keras 3, nos comprometemos a apoyar a la comunidad y garantizar una migración sin problemas. Lo invitamos a explorar las nuevas funciones, consultar la documentación actualizada y unirse a la conversación en nuestra página de discusiones de GitHub. ¡Bienvenido al próximo capítulo de aprendizaje profundo en R con Keras 3!

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles