TensorFlow
| TensorFlow
| |
|---|---|
|
| |
| Datos básicos
| |
| desarrollador | Equipo de Google Brain |
| Año de publicación | 9 de noviembre de 2015 |
| Versión actual |
2.4.1 ( 21 de enero de 2021 ) |
| sistema operativo | Microsoft Windows , Linux , macOS , iOS , Android |
| lenguaje de programación | C ++ , Python |
| categoría | Biblioteca de programas de código abierto para inteligencia artificial |
| Licencia | Licencia de Apache, versión 2.0 |
| www.tensorflow.org | |
TensorFlow es un marco para la programación orientada al flujo de datos . TensorFlow se usa popularmente en el área del aprendizaje automático . El nombre TensorFlow proviene de operaciones aritméticas que se llevan a cabo mediante redes neuronales artificiales en campos de datos multidimensionales , los llamados tensores .
TensorFlow fue desarrollado originalmente por el equipo de Google Brain para las necesidades internas de Google y lanzado en 2017 bajo la licencia de código abierto Apache 2.0 .
ejemplo
En investigación y producción , TensorFlow se utiliza actualmente en productos comerciales de Google , como reconocimiento de voz , Gmail , Google Photos y Búsqueda de Google . El servicio de mapas Maps se mejora al analizar las fotos de los letreros de las calles tomadas por Street View , que se analizan con la ayuda de una red neuronal basada en TensorFlow . Muchos de estos productos utilizaban el software anterior DistBelief.
En TensorFlow, las operaciones matemáticas se representan en forma de gráfico . El gráfico representa la secuencia secuencial de todas las operaciones que realizará TensorFlow. El siguiente ejemplo muestra la funcionalidad básica con Python :
Primero se carga la biblioteca de TensorFlow .
# TensorFlow laden
import tensorflow as tf
Luego , se define la sesión bajo la cual TensorFlow evalúa las operaciones matemáticas.
# TensorFlow Session definieren
sess = tf.Session()
Se definen dos constantes, xey, que se multiplican juntas.
# Zwei Konstanten im "8-bit signed integer"-Format
x = tf.constant(3, dtype=tf.int8)
y = tf.constant(2, dtype=tf.int8)
# Eine Multiplikation
z = tf.multiply(x, y)
Para determinar el resultado, la gráfica se ejecuta en el punto z.
# Ausführung
sess.run(z)
6
Unidad de procesamiento de tensor (TPU)
Por Google, eran unidades de procesamiento de tensor , es decir, chips específicos de la aplicación diseñados para hacer que el aprendizaje automático sea compatible o acelerado. Con este hardware especial, los algoritmos de la biblioteca de programas de TensorFlow se procesan de manera particularmente rápida y eficiente.
Lanzamientos de TensorFlow
1.4: Keras
Desde el lanzamiento de 1.4 es TensorFlow Keras, un código abierto - Profundo-aprendizaje biblioteca, escrito en Python , que forma parte de la API Tensorflow Core. Sin embargo, Keras seguirá utilizándose como una biblioteca independiente porque, según su desarrollador François Chollet, no está pensada como la única interfaz para Tensorflow, sino como una interfaz para muchos marcos.
1.5: TensorFlow Lite
A partir de la versión TensorFlow 1.5, el ciclo de vida de los modelos se admite de forma diferenciada. Por un lado se puede determinar importando tensorflow.contrib.eagercon enable_eager_execution()turno un modo que se vende en el shell de Python ejecuta instrucciones directamente en el TensorFlow sin una sesión. Para que pueda desarrollarse de forma interactiva. Por otro lado, también se suministra TensorFlow Lite, una versión delgada con la que los modelos no se pueden entrenar, solo ejecutar. Al igual que TensorFlow Mobile, está especialmente diseñado para dispositivos móviles . Las API para usar TensorFlow con los lenguajes de programación Java , C y Go también son principalmente adecuadas para ejecutar modelos .
2.0: TensorFlow 2.0
Con la versión 2.0 de TensorFlow lanzada el 30 de septiembre de 2019, la API se limpió y expandió. En particular, la interfaz de Keras se ha convertido en la nueva API estándar para modelar modelos de aprendizaje profundo. Se han ampliado las funciones individuales; TensorFlow 2 ahora guarda modelos, incluidos pesos y cálculos, lo que simplifica significativamente la transferencia.
Lenguajes de programación compatibles
TensorFlow se usa desde los programas de Python y se implementa en Python y C ++ . Es compatible con los lenguajes de programación Python, C , C ++, Go , Java , JavaScript y Swift . Existen otras bibliotecas de terceros para los lenguajes C # , Haskell , Julia , R , Scala , Rust , OCaml y Crystal .
literatura
- Tom Hope, Yehezkel S. Resheff, Itay Lieder: Introducción a TensorFlow: programación, capacitación, escalado e implementación de sistemas de aprendizaje profundo . Ed.: O'Reilly. 1ª edición. mitp, 2018, ISBN 978-3-96009-074-8 .
- Rezaul Karim: TensorFlow: análisis predictivo potente con TensorFlow . Packt, 2018, ISBN 978-1-78913-691-3 (inglés, vista previa limitada en la Búsqueda de libros de Google).
- Matthieu Deru, Alassane Ndiaye: aprendizaje profundo con TensorFlow, Keras y TensorFlow.js . 2ª Edición. Rheinwerk Verlag, 2020, ISBN 978-3-8362-7425-8 .
enlaces web
- Sitio web de TensorFlow
- TensorFlow en GitHub
- Comience con las API de alto nivel de TensorFlow (Google I / O '18) en YouTube - 40min-Quickstart-Talk (inglés) a partir del 9 de mayo de 2018
- Tutoriales breves en video en el canal oficial de YouTube en YouTube
- Artículo de blog sobre la introducción a TensorFlow (alemán)
- Aprenda de los expertos en aprendizaje automático de Google. En: ai.google. Consultado el 19 de octubre de 2018 .
Evidencia individual
- ↑ ¡ Se lanzó TensorFlow 2.4.1! . 21 de enero de 2021 (consultado el 7 de febrero de 2021).
- ↑ github.com . 21 de enero de 2021 (consultado el 7 de febrero de 2021).
- ↑ a b En: MXNet: una biblioteca de aprendizaje automático flexible y eficiente para sistemas distribuidos heterogéneos .
- ↑ El proyecto de código abierto de tensorflow en Open Hub: Página de idiomas . En: Open Hub . (consultado el 19 de julio de 2018).
- ↑ El proyecto de código abierto de tensorflow en Open Hub: página de licencias . En: Open Hub . (consultado el 19 de julio de 2018).
- ↑ heise online: Machine Learning: Lanzamiento de TensorFlow 1.0. 17 de febrero de 2017. Consultado el 17 de febrero de 2017 .
- ↑ Heise Developer: Machine Learning: TensorFlow aparece para Windows. 30 de noviembre de 2016. Consultado el 17 de febrero de 2017 .
- ↑ Usos de TensorFlow | TensorFlow. 15 de febrero de 2017, consultado el 17 de febrero de 2017 .
- ↑ Zbigniew Wojna, Alex Gorban, Dar-Shyang Lee, Kevin Murphy, Qian Yu, Yeqing Li, Julian Ibarz: Extracción basada en la atención de información estructurada de imágenes de Street View. Consultado el 1 de mayo de 2020 .
- ↑ heise online: Google I / O 2016: "Los procesadores Tensor" ayudaron a ganar el Go. 19 de mayo de 2016. Consultado el 19 de febrero de 2017 .
- ↑ Lanzamiento de TensorFlow 1.4.0. 2 de noviembre de 2017, consultado el 9 de julio de 2018 .
- ↑ Buenas noticias, ¡Tensorflow elige a Keras! # 5050. 16 de enero de 2017, consultado el 9 de julio de 2018 .
- ↑ Rainald Menge-Sonnentag: Machine Learning: TensorFlow 1.5 ejecuta los comandos de Python directamente. 29 de enero de 2018, consultado el 30 de enero de 2018 .
- ↑ Sebastian Grüner: Deep Learning: Tensorflow Lite es incluso más pequeño que Tensorflow Mobile - Golem.de . 15 de noviembre de 2017 ( golem.de [consultado el 30 de enero de 2018]).
- ↑ Introducción a TensorFlow Lite | TensorFlow. Consultado el 30 de enero de 2018 .
- ↑ tensorflow.org: Instale r1.5 .
- ↑ ¡ TensorFlow 2.0 ya está disponible! Consultado el 31 de mayo de 2020 .
- ↑ Todos los símbolos en TensorFlow | TensorFlow ( en ) Consultado el 18 de febrero de 2018.
- ↑ Compatibilidad de la versión de TensorFlow | TensorFlow ( en ) Consultado el 10 de mayo de 2018: "Algunas funciones de la API están marcadas explícitamente como" experimentales "y pueden cambiar de formas incompatibles con versiones anteriores entre versiones menores. Estos incluyen otros idiomas "
- ↑ Documentación de API . Consultado el 27 de junio de 2018.
- ↑ TensorFlow.js . Consultado el 28 de junio de 2018: "TensorFlow.js tiene una API similar a la API de TensorFlow Python; sin embargo, no admite todas las funciones de la API de TensorFlow Python".
- ↑ Swift para TensorFlow ( en ) Consultado el 28 de junio de 2018: “Swift para TensorFlow es un proyecto de investigación en etapa inicial. Se ha lanzado para permitir el desarrollo de código abierto y aún no está listo para su uso general por parte de los desarrolladores de aprendizaje automático. La API está sujeta a cambios en cualquier momento ".
- ↑ TensorFlow.NET: enlaces estándar de .NET para TensorFlow . 11 de diciembre de 2018. Consultado el 11 de diciembre de 2018.
- ↑ haskell: enlaces de Haskell para TensorFlow . tensorflow. 17 de febrero de 2018. Consultado el 18 de febrero de 2018.
- ↑ malmaud / TensorFlow.jl ( en ) Consultado el 28 de junio de 2018.
- ↑ tensorflow: TensorFlow para R . RStudio. 17 de febrero de 2018. Consultado el 18 de febrero de 2018.
- ↑ tensorflow_scala: API de TensorFlow para el lenguaje de programación Scala . 17 de febrero de 2018. Consultado el 18 de febrero de 2018.
- ↑ rust: enlaces de idioma de Rust para TensorFlow . tensorflow. 17 de febrero de 2018. Consultado el 18 de febrero de 2018.
- ↑ Laurent Mazare: tensorflow-ocaml: enlaces OCaml para TensorFlow . 16 de febrero de 2018. Consultado el 18 de febrero de 2018.
- ↑ fazibear / tensorflow.cr ( en ) Consultado el 10 de octubre de 2018.