TensorFlow - TensorFlow
Desenvolvedor (s) | Equipe do Google Brain |
---|---|
lançamento inicial | 9 de novembro de 2015 |
Versão estável | |
Repositório | github |
Escrito em | Python , C ++ , CUDA |
Plataforma | Linux , macOS , Windows , Android , JavaScript |
Modelo | Biblioteca de aprendizado de máquina |
Licença | Licença Apache 2.0 |
Local na rede Internet | www |
TensorFlow é uma biblioteca de software gratuita e de código aberto para aprendizado de máquina e inteligência artificial . Ele pode ser usado em uma variedade de tarefas, mas tem um foco particular no treinamento e inferência de redes neurais profundas .
Tensorflow é uma biblioteca matemática simbólica baseada em fluxo de dados e programação diferenciável . Ele é usado para pesquisa e produção no Google .
O TensorFlow foi desenvolvido pela equipe do Google Brain para uso interno do Google . Foi lançado sob a licença Apache 2.0 em 2015.
História
DistBelief
A partir de 2011, o Google Brain desenvolveu o DistBelief como um sistema de aprendizado de máquina proprietário baseado em redes neurais de aprendizado profundo . Seu uso cresceu rapidamente em diversas empresas da Alphabet , tanto em aplicações de pesquisa quanto comerciais. O Google designou vários cientistas da computação, incluindo Jeff Dean , para simplificar e refatorar a base de código do DistBelief em uma biblioteca de nível de aplicativo mais rápida e robusta, que se tornou TensorFlow. Em 2009, a equipe, liderada por Geoffrey Hinton , implementou retropropagação generalizada e outras melhorias que permitiram a geração de redes neurais com uma precisão substancialmente maior, por exemplo, uma redução de 25% nos erros no reconhecimento de fala .
TensorFlow
TensorFlow é o sistema de segunda geração do Google Brain. A versão 1.0.0 foi lançada em 11 de fevereiro de 2017. Embora a implementação de referência seja executada em dispositivos únicos, o TensorFlow pode ser executado em várias CPUs e GPUs (com extensões CUDA e SYCL opcionais para computação de uso geral em unidades de processamento gráfico ). O TensorFlow está disponível em Linux de 64 bits , macOS , Windows e plataformas de computação móvel, incluindo Android e iOS .
Sua arquitetura flexível permite a fácil implantação de computação em uma variedade de plataformas (CPUs, GPUs, TPUs ) e de desktops a clusters de servidores e dispositivos móveis e de borda.
Os cálculos do TensorFlow são expressos como gráficos de fluxo de dados com estado . O nome TensorFlow deriva das operações que essas redes neurais realizam em matrizes de dados multidimensionais, chamadas de tensores . Durante a Google I / O Conference em junho de 2016, Jeff Dean afirmou que 1.500 repositórios no GitHub mencionavam o TensorFlow, dos quais apenas 5 eram do Google.
Em dezembro de 2017, desenvolvedores do Google, Cisco, RedHat, CoreOS e CaiCloud apresentaram o Kubeflow em uma conferência. O Kubeflow permite a operação e implantação do TensorFlow no Kubernetes .
Em março de 2018, o Google anunciou o TensorFlow.js versão 1.0 para aprendizado de máquina em JavaScript .
Em janeiro de 2019, o Google anunciou o TensorFlow 2.0. Ele se tornou oficialmente disponível em setembro de 2019.
Em maio de 2019, o Google anunciou o TensorFlow Graphics para aprendizado profundo em computação gráfica.
Unidade de processamento de tensor (TPU)
Em maio de 2016, o Google anunciou sua unidade de processamento Tensor (TPU), um circuito integrado específico de aplicativo (ASIC, um chip de hardware) criado especificamente para aprendizado de máquina e adaptado para TensorFlow. Uma TPU é um acelerador AI programável projetado para fornecer alto rendimento de aritmética de baixa precisão (por exemplo, 8 bits ) e orientado para usar ou executar modelos em vez de treiná- los. O Google anunciou que estava executando TPUs dentro de seus data centers por mais de um ano e descobriu que eles proporcionavam desempenho otimizado por watt em ordem de magnitude para o aprendizado de máquina.
Em maio de 2017, o Google anunciou a segunda geração, bem como a disponibilidade das TPUs no Google Compute Engine . As TPUs de segunda geração oferecem até 180 teraflops de desempenho e, quando organizadas em clusters de 64 TPUs, fornecem até 11,5 petaflops.
Em maio de 2018, o Google anunciou as TPUs de terceira geração com até 420 teraflops de desempenho e 128 GB de memória de alta largura de banda (HBM). Os pods do Cloud TPU v3 oferecem mais de 100 petaflops de desempenho e 32 TB HBM.
Em fevereiro de 2018, o Google anunciou que estava disponibilizando TPUs em beta no Google Cloud Platform .
Edge TPU
Em julho de 2018, o Edge TPU foi anunciado. O Edge TPU é o chip ASIC desenvolvido pelo Google, projetado para executar modelos de aprendizado de máquina (ML) TensorFlow Lite em pequenos dispositivos de computação cliente, como smartphones, conhecidos como edge computing .
TensorFlow Lite
Em maio de 2017, o Google anunciou uma pilha de software especificamente para desenvolvimento móvel, TensorFlow Lite. Em janeiro de 2019, a equipe do TensorFlow lançou uma prévia do desenvolvedor do mecanismo de inferência de GPU móvel com OpenGL ES 3.1 Compute Shaders em dispositivos Android e Metal Compute Shaders em dispositivos iOS. Em maio de 2019, o Google anunciou que seu TensorFlow Lite Micro (também conhecido como TensorFlow Lite for Microcontrollers) e o uTensor da ARM seriam fundidos.
O TensorFlow Lite usa FlatBuffers como o formato de serialização de dados para modelos de rede, evitando o formato de Buffers de protocolo usado por modelos padrão do TensorFlow.
Pixel Visual Core (PVC)
Em outubro de 2017, o Google lançou o Google Pixel 2 que apresentava seu Pixel Visual Core (PVC), uma imagem totalmente programável , visão e processador de IA para dispositivos móveis. O PVC é compatível com TensorFlow para aprendizado de máquina (e Halide para processamento de imagem).
Formulários
O Google lançou oficialmente o RankBrain em 26 de outubro de 2015, com o apoio do TensorFlow.
O Google também lançou o Colaboratory, um ambiente de notebook TensorFlow Jupyter que não requer configuração para ser usado.
Curso intensivo de aprendizado de máquina (MLCC)
Em 1º de março de 2018, o Google lançou seu Machine Learning Crash Course (MLCC). Originalmente projetado para ajudar a equipar os funcionários do Google com inteligência artificial prática e fundamentos de aprendizado de máquina, o Google lançou seus workshops TensorFlow gratuitos em várias cidades ao redor do mundo antes de finalmente lançar o curso para o público.
TensorFlow 2.0
Como a participação de mercado do TensorFlow entre os papéis de pesquisa estava diminuindo para vantagem do PyTorch , a equipe do TensorFlow anunciou o lançamento de uma nova versão principal da biblioteca em setembro de 2019. O TensorFlow 2.0 introduziu muitas mudanças, a mais significativa sendo o TensorFlow ansioso, que mudou o automático esquema de diferenciação do gráfico computacional estático, para o esquema "Define-by-Run" originalmente popularizado por Chainer e posteriormente PyTorch . Outras mudanças importantes incluíram a remoção de bibliotecas antigas, compatibilidade cruzada entre modelos treinados em diferentes versões do TensorFlow e melhorias significativas no desempenho da GPU.
Recursos
O TensorFlow fornece Python estável (para a versão 3.7 em todas as plataformas) e APIs C ; e sem garantia de compatibilidade com versões anteriores da API: C ++ , Go , Java , JavaScript e Swift (arquivado e o desenvolvimento foi interrompido). Pacotes de terceiros estão disponíveis para C # , Haskell , Julia , MATLAB , R , Scala , Rust , OCaml e Crystal .
"O suporte a novos idiomas deve ser construído em cima da API C. No entanto, [..] nem todas as funcionalidades estão disponíveis em C ainda". Mais algumas funcionalidades são fornecidas pela API Python.
Formulários
Entre os aplicativos para os quais o TensorFlow é a base estão softwares de legendagem de imagens automatizados , como o DeepDream .
Veja também
Referências
Bibliografia
- Moroney, Laurence (1 de outubro de 2020). IA e aprendizado de máquina para codificadores (1ª ed.). O'Reilly Media . p. 365. ISBN 9781492078197.
- Géron, Aurélien (15 de outubro de 2019). Aprendizado de máquina prático com Scikit-Learn, Keras e TensorFlow (2ª ed.). O'Reilly Media . p. 856. ISBN 9781492032632.
- Ramsundar, Bharath; Zadeh, Reza Bosagh (23 de março de 2018). TensorFlow para Deep Learning (1ª ed.). O'Reilly Media . p. 256. ISBN 9781491980446.
- Esperança, Tom; Resheff, Yehezkel S .; Lieder, Itay (27 de agosto de 2017). TensorFlow de aprendizagem: um guia para construir sistemas de aprendizagem profunda (1ª ed.). O'Reilly Media . p. 242. ISBN 9781491978504.
- Shukla, Nishant (12 de fevereiro de 2018). Aprendizado de máquina com TensorFlow (1ª ed.). Manning Publications . p. 272. ISBN 9781617293870.