TensorFlow - TensorFlow

TensorFlow
TensorFlowLogo.svg
Desenvolvedor (s) Equipe do Google Brain
lançamento inicial 9 de novembro de 2015 ; 5 anos atrás ( 09-11-2015 )
Versão estável
2.5.0  Edite isso no Wikidata(13 de maio de 2021 ; 3 meses atrás ) / 14 de maio de 2021 ; 3 meses atrás ( 13 de maio de 2021 ) ( 2021-05-14 )
Repositório github .com / tensorflow / tensorflow
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 .org

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

Foto original (esquerda) e com estilo neural TensorFlow aplicado (direita)

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

links externos