Biblioteca de software de aprendizaje automático
TensorFlow es una biblioteca de software para aprendizaje automático e inteligencia artificial . Se puede utilizar en una variedad de tareas, pero se utiliza principalmente para el entrenamiento y la inferencia de redes neuronales . [3] [4] Es uno de los marcos de aprendizaje profundo más populares , junto con otros como PyTorch y PaddlePaddle. [5] [6] Es un software gratuito y de código abierto publicado bajo la Licencia Apache 2.0 .
Fue desarrollado por el equipo de Google Brain para uso interno de Google en investigación y producción. [7] [8] [9] La versión inicial se lanzó bajo la Licencia Apache 2.0 en 2015. [1] [10] Google lanzó una versión actualizada, TensorFlow 2.0, en septiembre de 2019. [11]
TensorFlow se puede utilizar en una amplia variedad de lenguajes de programación, incluidos Python , JavaScript , C++ y Java , [12] lo que facilita su uso en una variedad de aplicaciones en muchos sectores.
Historia
Descreencia
A partir de 2011, Google Brain creó DistBelief como un sistema de aprendizaje automático patentado basado en redes neuronales de aprendizaje profundo . Su uso creció rápidamente en diversas empresas de Alphabet , tanto en aplicaciones comerciales como de investigación. [13] [14] Google asignó a varios científicos informáticos, incluido Jeff Dean , para simplificar y refactorizar el código base de DistBelief en una biblioteca de grado de aplicación más rápida y robusta, que se convirtió en TensorFlow. [15] En 2009, el equipo, dirigido por Geoffrey Hinton , había implementado retropropagación generalizada y otras mejoras, que permitieron la generación de redes neuronales con una precisión sustancialmente mayor, por ejemplo, una reducción del 25% en los errores en el reconocimiento de voz . [16]
Flujo tensorial
TensorFlow es el sistema de segunda generación de Google Brain. La versión 1.0.0 se lanzó el 11 de febrero de 2017. [17] Si bien la implementación de referencia se ejecuta en dispositivos individuales, TensorFlow puede ejecutarse en múltiples CPU y GPU (con extensiones CUDA y SYCL opcionales para computación de propósito general en unidades de procesamiento de gráficos ). [18] TensorFlow está disponible en Linux de 64 bits , macOS , Windows y plataformas de computación móvil, incluidas Android e iOS . [ cita requerida ]
Su arquitectura flexible permite una fácil implementación de la computación en una variedad de plataformas (CPU, GPU, TPU ) y desde computadoras de escritorio hasta grupos de servidores y dispositivos móviles y de borde .
Los cálculos de TensorFlow se expresan como gráficos de flujo de datos con estado . El nombre TensorFlow deriva de las operaciones que dichas redes neuronales realizan en matrices de datos multidimensionales, a las que se denomina tensores . [19] Durante la conferencia Google I/O en junio de 2016, Jeff Dean afirmó que 1500 repositorios en GitHub mencionaban TensorFlow, de los cuales solo 5 eran de Google. [20]
En marzo de 2018, Google anunció la versión 1.0 de TensorFlow.js para aprendizaje automático en JavaScript . [21]
En enero de 2019, Google anunció TensorFlow 2.0. [22] Estuvo disponible oficialmente en septiembre de 2019. [11]
En mayo de 2019, Google anunció TensorFlow Graphics para el aprendizaje profundo en gráficos de computadora. [23]
Unidad de procesamiento tensorial (TPU)
En mayo de 2016, Google anunció su unidad de procesamiento Tensor (TPU), un circuito integrado específico de la aplicación ( ASIC , un chip de hardware) construido específicamente para el aprendizaje automático y adaptado a TensorFlow. Una TPU es un acelerador de IA programable diseñado para proporcionar un alto rendimiento de aritmética de baja precisión (por ejemplo, 8 bits ) y orientado a usar o ejecutar modelos en lugar de entrenarlos . Google anunció que había estado ejecutando TPU dentro de sus centros de datos durante más de un año y había descubierto que brindaban un orden de magnitud mejor de rendimiento optimizado por vatio para el aprendizaje automático. [24]
En mayo de 2017, Google anunció la segunda generación, así como la disponibilidad de las TPU en Google Compute Engine . [25] Las TPU de segunda generación ofrecen hasta 180 teraflops de rendimiento y, cuando se organizan en grupos de 64 TPU, proporcionan hasta 11,5 petaflops . [ cita requerida ]
En mayo de 2018, Google anunció la tercera generación de TPU que ofrecen hasta 420 teraflops de rendimiento y 128 GB de memoria de alto ancho de banda (HBM). Los Cloud TPU Pods v3 ofrecen más de 100 petaflops de rendimiento y 32 TB de memoria de alto ancho de banda. [26]
En febrero de 2018, Google anunció que las TPU estarían disponibles en versión beta en Google Cloud Platform . [27]
Borde de TPU
En julio de 2018, se anunció Edge TPU. Edge TPU es un chip ASIC especialmente diseñado por Google para ejecutar modelos de aprendizaje automático (ML) de TensorFlow Lite en dispositivos informáticos de clientes pequeños, como teléfonos inteligentes [28] , lo que se conoce como computación de borde .
TensorFlow Lite
En mayo de 2017, Google anunció una pila de software específicamente para el desarrollo móvil, TensorFlow Lite. [29] En enero de 2019, el equipo de TensorFlow lanzó una vista previa para desarrolladores del motor de inferencia de GPU móvil con OpenGL ES 3.1 Compute Shaders en dispositivos Android y Metal Compute Shaders en dispositivos iOS. [30] En mayo de 2019, Google anunció que su TensorFlow Lite Micro (también conocido como TensorFlow Lite para microcontroladores) y uTensor de ARM se fusionarían. [31]
TensorFlow 2.0
Como la participación de mercado de TensorFlow entre los artículos de investigación estaba disminuyendo en beneficio de PyTorch , [32] el equipo de TensorFlow anunció el lanzamiento de una nueva versión principal de la biblioteca en septiembre de 2019. TensorFlow 2.0 introdujo muchos cambios, el más significativo fue TensorFlow Avid, que cambió el esquema de diferenciación automática del gráfico computacional estático al esquema "Definir por ejecución" originalmente popularizado por Chainer y luego por PyTorch . [32] Otros cambios importantes incluyeron la eliminación de bibliotecas antiguas, la compatibilidad cruzada entre modelos entrenados en diferentes versiones de TensorFlow y mejoras significativas en el rendimiento en la GPU. [33]
Características
Autodiferenciación
La autodiferenciación es el proceso de calcular automáticamente el vector de gradiente de un modelo con respecto a cada uno de sus parámetros. Con esta característica, TensorFlow puede calcular automáticamente los gradientes de los parámetros de un modelo, lo que resulta útil para algoritmos como la retropropagación , que requieren gradientes para optimizar el rendimiento. [34] Para ello, el marco debe realizar un seguimiento del orden de las operaciones realizadas en los tensores de entrada de un modelo y, a continuación, calcular los gradientes con respecto a los parámetros adecuados. [34]
Ejecución ansiosa
TensorFlow incluye un modo de “ejecución ansiosa”, lo que significa que las operaciones se evalúan inmediatamente en lugar de agregarse a un gráfico computacional que se ejecuta más tarde. [35] El código ejecutado con entusiasmo se puede examinar paso a paso a través de un depurador, ya que los datos se aumentan en cada línea de código en lugar de más tarde en un gráfico computacional. [35] Se considera que este paradigma de ejecución es más fácil de depurar debido a su transparencia paso a paso. [35]
Distribuir
Tanto en ejecuciones ansiosas como en ejecuciones gráficas, TensorFlow proporciona una API para distribuir el cálculo entre múltiples dispositivos con varias estrategias de distribución. [36] Esta computación distribuida a menudo puede acelerar la ejecución del entrenamiento y la evaluación de los modelos de TensorFlow y es una práctica común en el campo de la IA. [36] [37]
Pérdidas
Para entrenar y evaluar modelos, TensorFlow proporciona un conjunto de funciones de pérdida (también conocidas como funciones de costo ). [38] Algunos ejemplos populares incluyen el error cuadrático medio (MSE) y la entropía cruzada binaria (BCE). [38]
Métrica
Para evaluar el rendimiento de los modelos de aprendizaje automático, TensorFlow brinda acceso a la API a métricas de uso común. Algunos ejemplos incluyen varias métricas de precisión (binarias, categóricas, categóricas dispersas) junto con otras métricas como precisión, recuperación e intersección sobre unión (IoU). [39]
TF.nn
TensorFlow.nn es un módulo para ejecutar operaciones de redes neuronales primitivas en modelos. [40] Algunas de estas operaciones incluyen variaciones de convoluciones (1/2/3D, Atrous, depthwise), funciones de activación ( Softmax , RELU , GELU, Sigmoid , etc.) y sus variaciones, y otras operaciones ( max-pooling , bias-add, etc.). [40]
Optimizadores
TensorFlow ofrece un conjunto de optimizadores para entrenar redes neuronales, incluidos ADAM , ADAGRAD y Stochastic Gradient Descent (SGD). [41] Al entrenar un modelo, diferentes optimizadores ofrecen diferentes modos de ajuste de parámetros, que a menudo afectan la convergencia y el rendimiento de un modelo. [42]
Uso y extensiones
Flujo tensorial
TensorFlow funciona como plataforma y biblioteca central para el aprendizaje automático. Las API de TensorFlow utilizan Keras para permitir a los usuarios crear sus propios modelos de aprendizaje automático. [33] [43] Además de crear y entrenar su modelo, TensorFlow también puede ayudar a cargar los datos para entrenar el modelo e implementarlo utilizando TensorFlow Serving. [44]
TensorFlow proporciona una interfaz de programación de aplicaciones ( API ) estable para Python , [45] así como API sin garantía de compatibilidad con versiones anteriores para Javascript , [46] C++ , [47] y Java . [48] [12] También hay paquetes de enlaces de lenguaje de terceros disponibles para C# , [49] [50] Haskell , [51] Julia , [52] MATLAB , [53] Object Pascal , [54] R , [55] Scala , [56] Rust , [57] OCaml , [58] y Crystal . [59] Los enlaces que ahora están archivados y no son compatibles incluyen Go [60] y Swift . [61]
TensorFlow.js
TensorFlow también tiene una biblioteca para el aprendizaje automático en JavaScript. Mediante las API de JavaScript proporcionadas , TensorFlow.js permite a los usuarios utilizar modelos de Tensorflow.js o modelos convertidos de TensorFlow o TFLite, volver a entrenar los modelos proporcionados y ejecutarlos en la web. [44] [62]
TFLite
TensorFlow Lite tiene API para aplicaciones móviles o dispositivos integrados para generar e implementar modelos TensorFlow. [63] Estos modelos están comprimidos y optimizados para ser más eficientes y tener un mayor rendimiento en dispositivos de menor capacidad. [64]
TensorFlow Lite utiliza FlatBuffers como formato de serialización de datos para modelos de red, evitando el formato Protocol Buffers utilizado por los modelos estándar de TensorFlow. [64]
TFX
TensorFlow Extended (abreviado como TFX) proporciona numerosos componentes para realizar todas las operaciones necesarias para la producción de extremo a extremo. [65] Los componentes incluyen la carga, validación y transformación de datos, el ajuste, el entrenamiento y la evaluación del modelo de aprendizaje automático, y la introducción del modelo en producción. [44] [65]
Integraciones
Numeroso
Numpy es una de las bibliotecas de datos de Python más populares , y TensorFlow ofrece integración y compatibilidad con sus estructuras de datos. [66] Los NDarrays de Numpy, el tipo de datos nativo de la biblioteca, se convierten automáticamente en tensores de TensorFlow en operaciones TF; lo mismo ocurre a la inversa. [66] Esto permite que las dos bibliotecas trabajen al unísono sin necesidad de que el usuario escriba conversiones de datos explícitas. Además, la integración se extiende a la optimización de la memoria al hacer que los tensores TF compartan las representaciones de memoria subyacentes de los NDarrays de Numpy siempre que sea posible. [66]
Extensiones
TensorFlow también ofrece una variedad de bibliotecas y extensiones para avanzar y extender los modelos y métodos utilizados. [67] Por ejemplo, TensorFlow Recommenders y TensorFlow Graphics son bibliotecas para sus respectivas funcionalidades en sistemas de recomendación y gráficos, TensorFlow Federated proporciona un marco para datos descentralizados y TensorFlow Cloud permite a los usuarios interactuar directamente con Google Cloud para integrar su código local a Google Cloud. [68] Otros complementos, bibliotecas y marcos incluyen TensorFlow Model Optimization, TensorFlow Probability, TensorFlow Quantum y TensorFlow Decision Forests. [67] [68]
Google Colaboración
Google también lanzó Colaboratory, un entorno de notebook Jupyter de TensorFlow que no requiere ninguna configuración. [69] Se ejecuta en Google Cloud y permite a los usuarios acceso gratuito a las GPU y la capacidad de almacenar y compartir notebooks en Google Drive . [70]
Google JAX
Google JAX es un marco de aprendizaje automático para transformar funciones numéricas. [71] [72] [73] Se describe como una versión modificada de autograd (obtención automática de la función de gradiente a través de la diferenciación de una función) y XLA (Álgebra lineal acelerada) de TensorFlow. Está diseñado para seguir la estructura y el flujo de trabajo de NumPy lo más fielmente posible y funciona con TensorFlow y otros marcos como PyTorch . Las funciones principales de JAX son: [71]
- grad: diferenciación automática
- jit: compilación
- vmap: auto-vectorización
- pmap: Programación SPMD
Aplicaciones
Médico
GE Healthcare utilizó TensorFlow para aumentar la velocidad y precisión de las resonancias magnéticas para identificar partes específicas del cuerpo. [74] Google utilizó TensorFlow para crear DermAssist, una aplicación móvil gratuita que permite a los usuarios tomar fotografías de su piel e identificar posibles complicaciones de salud. [75] Sinovation Ventures utilizó TensorFlow para identificar y clasificar enfermedades oculares a partir de exploraciones de tomografía de coherencia óptica (OCT). [75]
Redes sociales
Twitter implementó TensorFlow para clasificar los tweets por importancia para un usuario determinado y cambió su plataforma para mostrar los tweets en orden de esta clasificación. [76] Anteriormente, los tweets simplemente se mostraban en orden cronológico inverso. [76] La aplicación para compartir fotos VSCO usó TensorFlow para ayudar a sugerir filtros personalizados para fotos. [75]
Motor de búsqueda
Google lanzó oficialmente RankBrain el 26 de octubre de 2015, respaldado por TensorFlow. [77]
Educación
InSpace, una plataforma de aprendizaje virtual, utilizó TensorFlow para filtrar mensajes de chat tóxicos en las aulas. [78] Liulishuo, una plataforma de aprendizaje de inglés en línea, utilizó TensorFlow para crear un plan de estudios adaptable para cada estudiante. [79] TensorFlow se utilizó para evaluar con precisión las habilidades actuales de un estudiante y también ayudó a decidir el mejor contenido futuro para mostrar en función de esas capacidades. [79]
Minorista
La plataforma de comercio electrónico Carousell utilizó TensorFlow para proporcionar recomendaciones personalizadas a los clientes. [75] La empresa de cosméticos ModiFace utilizó TensorFlow para crear una experiencia de realidad aumentada para que los clientes probaran varios tonos de maquillaje en su rostro. [80]
Comparación de la fotografía original de 2016 (izquierda) y con el estilo neuronal TensorFlow aplicado (derecha)
Investigación
TensorFlow es la base del software de subtitulado automático de imágenes DeepDream . [81]
Véase también
Referencias
- ^ ab "Créditos". TensorFlow.org . Archivado desde el original el 17 de noviembre de 2015 . Consultado el 10 de noviembre de 2015 .
- ^ "TensorFlow.js". Archivado desde el original el 6 de mayo de 2018. Consultado el 28 de junio de 2018 .
- ^ Abadi, Martín; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). TensorFlow: un sistema para el aprendizaje automático a gran escala (PDF) . Actas del 12.º Simposio USENIX sobre diseño e implementación de sistemas operativos (OSDI '16). arXiv : 1605.08695 . Archivado (PDF) desde el original el 12 de diciembre de 2020 . Recuperado el 26 de octubre de 2020 .
- ^ TensorFlow: aprendizaje automático de código abierto. Google. 2015. Archivado desde el original el 11 de noviembre de 2021."Es un software de aprendizaje automático que se utiliza para diversos tipos de tareas de percepción y comprensión del lenguaje" – Jeffrey Dean, minuto 0:47 / 2:17 del clip de YouTube
- ^ "Top 30 Open Source Projects" (Los 30 mejores proyectos de código abierto). Proyecto de código abierto Velocity de CNCF . Consultado el 12 de octubre de 2023 .
- ^ "Bienvenido al GitHub de PaddlePaddle". Repositorio oficial de GitHub de PaddlePaddle . Consultado el 28 de octubre de 2024 .
- ^ Videoclip de Google sobre TensorFlow 2015 en el minuto 0:15/2:17
- ^ Videoclip de Google sobre TensorFlow 2015 en el minuto 0:26/2:17
- ^ Dean et al. 2015, pág. 2
- ^ Metz, Cade (9 de noviembre de 2015). «Google acaba de abrir el código fuente de TensorFlow, su motor de inteligencia artificial». Wired . Archivado desde el original el 9 de noviembre de 2015. Consultado el 10 de noviembre de 2015 .
- ^ ab TensorFlow (30 de septiembre de 2019). «¡TensorFlow 2.0 ya está disponible!». Medium . Archivado desde el original el 7 de octubre de 2019. Consultado el 24 de noviembre de 2019 .
- ^ ab «Documentación de la API». Archivado desde el original el 16 de noviembre de 2015 . Consultado el 27 de junio de 2018 .,
- ^ Dean, Jeff ; Monga, Rajat; et al. (9 de noviembre de 2015). "TensorFlow: aprendizaje automático a gran escala en sistemas heterogéneos" (PDF) . TensorFlow.org . Google Research. Archivado (PDF) del original el 20 de noviembre de 2015 . Consultado el 10 de noviembre de 2015 .
- ^ Perez, Sarah (9 de noviembre de 2015). "Google hace pública la tecnología de aprendizaje automático que se esconde detrás de la búsqueda, la respuesta inteligente y más de Google Photos". TechCrunch . Archivado desde el original el 9 de noviembre de 2015 . Consultado el 11 de noviembre de 2015 .
- ^ Oremus, Will (9 de noviembre de 2015). «¿Qué es TensorFlow y por qué Google está tan entusiasmado con él?». Slate . Archivado desde el original el 10 de noviembre de 2015. Consultado el 11 de noviembre de 2015 .
- ^ Ward-Bailey, Jeff (25 de noviembre de 2015). «Presidente de Google: estamos logrando un «progreso real» en materia de inteligencia artificial». CSMonitor . Archivado desde el original el 16 de septiembre de 2015. Consultado el 25 de noviembre de 2015 .
- ^ Desarrolladores de TensorFlow (2022). «Tensorflow Release 1.0.0». GitHub . doi :10.5281/zenodo.4724125. Archivado desde el original el 27 de febrero de 2021 . Consultado el 24 de julio de 2017 .
- ^ Metz, Cade (10 de noviembre de 2015). «TensorFlow, la IA de código abierto de Google, apunta a un mundo de hardware que cambia rápidamente». Wired . Archivado desde el original el 11 de noviembre de 2015. Consultado el 11 de noviembre de 2015 .
- ^ "Introducción a los tensores". tensorflow.org. Archivado desde el original el 26 de mayo de 2024. Consultado el 3 de marzo de 2024 .
- ^ Machine Learning: Google I/O 2016 Minuto 07:30/44:44 Archivado el 21 de diciembre de 2016 en Wayback Machine accessdate=2016-06-05
- ^ TensorFlow (30 de marzo de 2018). «Introducción a TensorFlow.js: aprendizaje automático en Javascript». Medium . Archivado desde el original el 30 de marzo de 2018. Consultado el 24 de mayo de 2019 .
- ^ TensorFlow (14 de enero de 2019). «Qué viene en TensorFlow 2.0». Medium . Archivado desde el original el 14 de enero de 2019. Consultado el 24 de mayo de 2019 .
- ^ TensorFlow (9 de mayo de 2019). «Presentación de TensorFlow Graphics: Computer Graphics Meets Deep Learning». Medium . Archivado desde el original el 9 de mayo de 2019. Consultado el 24 de mayo de 2019 .
- ^ Jouppi, Norm . «Google potencia las tareas de aprendizaje automático con un chip personalizado de TPU». Blog de Google Cloud Platform . Archivado desde el original el 18 de mayo de 2016. Consultado el 19 de mayo de 2016 .
- ^ "Construya y entrene modelos de aprendizaje automático en nuestras nuevas TPU de Google Cloud". Google . 17 de mayo de 2017. Archivado desde el original el 17 de mayo de 2017 . Consultado el 18 de mayo de 2017 .
- ^ "Cloud TPU". Google Cloud . Archivado desde el original el 17 de mayo de 2017. Consultado el 24 de mayo de 2019 .
- ^ "Los aceleradores de aprendizaje automático de Cloud TPU ya están disponibles en versión beta". Blog de Google Cloud Platform . Archivado desde el original el 12 de febrero de 2018. Consultado el 12 de febrero de 2018 .
- ^ Kundu, Kishalaya (26 de julio de 2018). «Google anuncia Edge TPU y Cloud IoT Edge en Cloud Next 2018». Beebom . Archivado desde el original el 26 de mayo de 2024 . Consultado el 2 de febrero de 2019 .
- ^ "El nuevo marco de aprendizaje automático de Google pondrá más inteligencia artificial en tu teléfono". 17 de mayo de 2017. Archivado desde el original el 17 de mayo de 2017 . Consultado el 19 de mayo de 2017 .
- ^ TensorFlow (16 de enero de 2019). «TensorFlow Lite ahora es más rápido con GPU móviles (versión preliminar para desarrolladores)». Medium . Archivado desde el original el 16 de enero de 2019. Consultado el 24 de mayo de 2019 .
- ^ "Anuncio de uTensor y Tensor Flow | Mbed". os.mbed.com . Archivado desde el original el 9 de mayo de 2019 . Consultado el 24 de mayo de 2019 .
- ^ ab He, Horace (10 de octubre de 2019). «El estado de los marcos de aprendizaje automático en 2019». The Gradient. Archivado desde el original el 10 de octubre de 2019. Consultado el 22 de mayo de 2020 .
- ^ ab Ciaramella, Alberto ; Ciaramella, Marco (julio de 2024). Introducción a la inteligencia artificial: del análisis de datos a la IA generativa . Ediciones Intellisemantic. ISBN 9788894787603.
- ^ ab «Introducción a los gradientes y la diferenciación automática». TensorFlow . Archivado desde el original el 28 de octubre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ abc "Ejecución entusiasta | TensorFlow Core". TensorFlow . Archivado desde el original el 4 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ ab «Módulo: tf.distribute | TensorFlow Core v2.6.1». TensorFlow . Archivado desde el original el 26 de mayo de 2024 . Consultado el 4 de noviembre de 2021 .
- ^ Sigeru., Omatu (2014). Computación distribuida e inteligencia artificial, 11.ª conferencia internacional. Springer International Publishing. ISBN 978-3-319-07593-8. OCLC 980886715. Archivado desde el original el 26 de mayo de 2024. Consultado el 4 de noviembre de 2021 .
- ^ ab "Módulo: tf.losses | TensorFlow Core v2.6.1". TensorFlow . Archivado desde el original el 27 de octubre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ "Módulo: tf.metrics | TensorFlow Core v2.6.1". TensorFlow . Archivado desde el original el 4 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ ab «Módulo: tf.nn | TensorFlow Core v2.7.0». TensorFlow . Archivado desde el original el 26 de mayo de 2024 . Consultado el 6 de noviembre de 2021 .
- ^ "Módulo: tf.optimizers | TensorFlow Core v2.7.0". TensorFlow . Archivado desde el original el 30 de octubre de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ Dogo, EM; Afolabi, OJ; Nwulu, NI; Twala, B.; Aigbavboa, CO (diciembre de 2018). "Un análisis comparativo de algoritmos de optimización basados en descenso de gradiente en redes neuronales convolucionales". Conferencia internacional de 2018 sobre técnicas computacionales, electrónica y sistemas mecánicos (CTEMS) . págs. 92–99. doi :10.1109/CTEMS.2018.8769211. ISBN . 978-1-5386-7709-4. S2CID 198931032. Archivado desde el original el 26 de mayo de 2024 . Consultado el 25 de julio de 2023 .
- ^ "TensorFlow Core | Machine Learning para principiantes y expertos". TensorFlow . Archivado desde el original el 20 de enero de 2023 . Consultado el 4 de noviembre de 2021 .
- ^ abc «Introducción a TensorFlow». TensorFlow . Archivado desde el original el 20 de enero de 2023 . Consultado el 28 de octubre de 2021 .
- ^ "Todos los símbolos en TensorFlow 2 | TensorFlow Core v2.7.0". TensorFlow . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ "TensorFlow.js". js.tensorflow.org . Archivado desde el original el 26 de mayo de 2024 . Consultado el 6 de noviembre de 2021 .
- ^ "Referencia de API de C++ de TensorFlow | TensorFlow Core v2.7.0". TensorFlow . Archivado desde el original el 20 de enero de 2023 . Consultado el 6 de noviembre de 2021 .
- ^ "org.tensorflow | Java". TensorFlow . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ Icaza, Miguel de (17 de febrero de 2018). «TensorFlowSharp: API de TensorFlow para lenguajes .NET». GitHub . Archivado desde el original el 24 de julio de 2017 . Consultado el 18 de febrero de 2018 .
- ^ Chen, Haiping (11 de diciembre de 2018). «TensorFlow.NET: enlaces de .NET Standard para TensorFlow». GitHub . Archivado desde el original el 12 de julio de 2019 . Consultado el 11 de diciembre de 2018 .
- ^ "haskell: enlaces de Haskell para TensorFlow". tensorflow. 17 de febrero de 2018. Archivado desde el original el 24 de julio de 2017 . Consultado el 18 de febrero de 2018 .
- ^ Malmaud, Jon (12 de agosto de 2019). "Un contenedor de Julia para TensorFlow". GitHub . Archivado desde el original el 24 de julio de 2017 . Consultado el 14 de agosto de 2019 .
operaciones como sin, * (multiplicación de matrices), .* (multiplicación de elementos), etc. [..]. Compárese con Python, que requiere aprender funciones especializadas con espacios de nombres como tf.matmul.
- ^ "Un contenedor de MATLAB para TensorFlow Core". GitHub . 3 de noviembre de 2019. Archivado desde el original el 14 de septiembre de 2020 . Consultado el 13 de febrero de 2020 .
- ^ "Usar TensorFlow desde Pascal (FreePascal, Lazarus, etc.)". GitHub . 19 de enero de 2023. Archivado desde el original el 20 de enero de 2023 . Consultado el 20 de enero de 2023 .
- ^ "tensorflow: TensorFlow para R". RStudio. 17 de febrero de 2018. Archivado desde el original el 4 de enero de 2017. Consultado el 18 de febrero de 2018 .
- ^ Platanios, Anthony (17 de febrero de 2018). «tensorflow_scala: API de TensorFlow para el lenguaje de programación Scala». GitHub . Archivado desde el original el 18 de febrero de 2019 . Consultado el 18 de febrero de 2018 .
- ^ "rust: enlaces del lenguaje Rust para TensorFlow". tensorflow. 17 de febrero de 2018. Archivado desde el original el 24 de julio de 2017 . Consultado el 18 de febrero de 2018 .
- ^ Mazare, Laurent (16 de febrero de 2018). «tensorflow-ocaml: enlaces OCaml para TensorFlow». GitHub . Archivado desde el original el 11 de junio de 2018 . Consultado el 18 de febrero de 2018 .
- ^ "fazibear/tensorflow.cr". GitHub . Archivado desde el original el 27 de junio de 2018 . Consultado el 10 de octubre de 2018 .
- ^ "paquete tensorflow - github.com/tensorflow/tensorflow/tensorflow/go - pkg.go.dev". pkg.go.dev . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ "Swift para TensorFlow (en modo de archivo)". TensorFlow . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ "TensorFlow.js | Machine Learning para desarrolladores de JavaScript". TensorFlow . Archivado desde el original el 4 de noviembre de 2021 . Consultado el 28 de octubre de 2021 .
- ^ "TensorFlow Lite | ML para dispositivos móviles y de borde". TensorFlow . Archivado desde el original el 4 de noviembre de 2021 . Consultado el 1 de noviembre de 2021 .
- ^ ab "TensorFlow Lite". TensorFlow . Archivado desde el original el 2 de noviembre de 2021 . Consultado el 1 de noviembre de 2021 .
- ^ ab "TensorFlow Extended (TFX) | ML Production Pipelines". TensorFlow . Archivado desde el original el 4 de noviembre de 2021 . Consultado el 2 de noviembre de 2021 .
- ^ abc «Conceptos básicos de personalización: tensores y operaciones | TensorFlow Core». TensorFlow . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ ab "Guía | TensorFlow Core". TensorFlow . Archivado desde el original el 17 de julio de 2019 . Consultado el 4 de noviembre de 2021 .
- ^ ab «Bibliotecas y extensiones». TensorFlow . Archivado desde el original el 4 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ "Colaboratorio – Google". research.google.com . Archivado desde el original el 24 de octubre de 2017 . Consultado el 10 de noviembre de 2018 .
- ^ "Google Colaboratory". colab.research.google.com . Archivado desde el original el 3 de febrero de 2021 . Consultado el 6 de noviembre de 2021 .
- ^ ab Bradbury, James; Frostig, Roy; Hawkins, Peter; Johnson, Matthew James; Leary, Chris; MacLaurin, Dougal; Necula, George; Paszke, Adam; Vanderplas, Jake; Wanderman-Milne, Skye; Zhang, Qiao (18 de junio de 2022), «JAX: Autograd y XLA», Astrophysics Source Code Library , Google, Bibcode :2021ascl.soft11002B, archivado desde el original el 18 de junio de 2022 , consultado el 18 de junio de 2022
- ^ "Usando JAX para acelerar nuestra investigación". www.deepmind.com . Archivado desde el original el 18 de junio de 2022 . Consultado el 18 de junio de 2022 .
- ^ "¿Por qué JAX de Google es tan popular?". Revista Analytics India . 25 de abril de 2022. Archivado desde el original el 18 de junio de 2022. Consultado el 18 de junio de 2022 .
- ^ "Escaneo inteligente mediante aprendizaje profundo para resonancia magnética". Archivado desde el original el 4 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ abcd «Casos prácticos y menciones». TensorFlow . Archivado desde el original el 26 de octubre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ ab «Ranking Tweets with TensorFlow». Archivado desde el original el 4 de noviembre de 2021. Consultado el 4 de noviembre de 2021 .
- ^ Davies, Dave (2 de septiembre de 2020). "Una guía completa del algoritmo RankBrain de Google". Search Engine Journal . Archivado desde el original el 6 de noviembre de 2021. Consultado el 15 de octubre de 2024 .
- ^ «InSpace: Una nueva plataforma de videoconferencia que utiliza TensorFlow.js para filtros de toxicidad en el chat». Archivado desde el original el 4 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ ab Xulin. "流利说基于 TensorFlow 的自适应系统实践". Plataforma de Cuentas Oficiales de Weixin . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ "Cómo Modiface utilizó TensorFlow.js en producción para probar maquillaje de realidad aumentada en el navegador". Archivado desde el original el 4 de noviembre de 2021 . Consultado el 4 de noviembre de 2021 .
- ^ Byrne, Michael (11 de noviembre de 2015). «Google ofrece toda su biblioteca de aprendizaje automático como software de código abierto». Vice . Archivado desde el original el 25 de enero de 2021. Consultado el 11 de noviembre de 2015 .
Lectura adicional
- Moroney, Laurence (1 de octubre de 2020). AI and Machine Learning for Coders (1.ª ed.). O'Reilly Media . p. 365. ISBN 9781492078197Archivado del original el 7 de junio de 2021 . Consultado el 21 de diciembre de 2020 .
- Géron, Aurélien (15 de octubre de 2019). Aprendizaje automático práctico con Scikit-Learn, Keras y TensorFlow (2.ª ed.). O'Reilly Media . p. 856. ISBN 9781492032632Archivado del original el 1 de mayo de 2021 . Consultado el 25 de noviembre de 2019 .
- Ramsundar, Bharath; Zadeh, Reza Bosagh (23 de marzo de 2018). TensorFlow para aprendizaje profundo (1.ª ed.). O'Reilly Media . p. 256. ISBN 9781491980446Archivado del original el 7 de junio de 2021 . Consultado el 25 de noviembre de 2019 .
- Hope, Tom; Resheff, Yehezkel S.; Lieder, Itay (27 de agosto de 2017). Aprendizaje de TensorFlow: una guía para construir sistemas de aprendizaje profundo (1.ª ed.). O'Reilly Media . p. 242. ISBN 9781491978504Archivado del original el 8 de marzo de 2021 . Consultado el 25 de noviembre de 2019 .
- Shukla, Nishant (12 de febrero de 2018). Aprendizaje automático con TensorFlow (1.ª ed.). Manning Publications . p. 272. ISBN 9781617293870.
Enlaces externos
- Sitio web oficial
- Libro de aprendizaje de TensorFlow.js (ENG)