Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/pt-br/federated/design/compilation.md
25118 views

Compilação

[TOC]

O pacote compiler (compilador) contém as estruturas de dados que definem a representação do Python para a AST, funções de transformação do core e funcionalidade relacionada ao compilador.

AST

No TFF, uma árvore de sintaxe abstrata (AST) descreve a estrutura de uma computação federada.

Bloco de construção

Um building_block.ComputationBuildingBlock é a representação de uma AST do Python.

CompiledComputation

Uma building_block.CompiledComputation (computação compilada) é um building_block.ComputationBuildingBlock (bloco de construção de computação) que representa uma computação que será delegada a um runtime externo. No momento, o TFF tem suporte somente a computações do TensorFlow, mas poderá ser estendido para ter suporte a computações feitas por outros runtimes externos.

Computation

Uma pb.Computation (computação) é o Proto ou a representação serializada da AST.

Computação do TensorFlow

Uma pb.Computation representa uma computação que será delegada para o runtime do TensorFlow.

Transformação

Uma transformação constrói uma nova AST para uma determinada AST após aplicar uma coleção de mutações. As transformações podem operar em blocos de construção para transformar a representação da AST do Python ou podem operar em transformações do TensorFlow para transformar um tf.Graph.

Uma transformação atômica aplica uma única mutação (possivelmente mais de uma vez) à entrada fornecida.

Uma transformação composta aplica várias transformações à entrada fornecida para oferecer algum recurso ou asserção.

Observação: as transformações podem ser compostas em série ou em paralelo, ou seja, você pode construir uma transformação composta que faça diversas transformações em um passo por uma AST. Porém, é difícil definir a ordem de aplicação das transformações e como essas transformações são paralelizadas; como resultado, as transformações compostas são feitas à mão, e a maioria é, de certa forma, frágil.

O módulo tree_transformations (transformações da árvore) contém transformações atômicas de building block (blocos de construção).

O módulo transformations (transformações) contém transformações compostas de building block (blocos de construção).

O módulo tensorflow_computation_transformations (transformações de computação do TensorFlow) contém transformações atômicas de computações do TensorFlow.

O módulo compiled_computation_transformations (transformações de computação compilada) contém transformações atômicas e compostas de computações compiladas.

O módulo transformation_utils (utilitários de transformações) contém funções, lógica transversal e estruturas de dados usadas por outros módulos de transformação.

Compilador

Um compilador é uma coleção de transformações que constroem uma forma que pode ser executada.