TensorflowCatalog Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O TensorFlowTransformer é usado nos dois cenários a seguir.
- Pontuação com modelo tensorFlow pré-treinado: nesse modo, a transformação extrai os valores de camadas ocultas de um modelo tensorflow pré-treinado e usa saídas como recursos no pipeline ML.Net.
- Retreinamento do modelo TensorFlow : nesse modo, a transformação treina novamente um modelo TensorFlow usando os dados do usuário passados por ML.Net pipeline. Depois que o modelo é treinado, suas saídas podem ser usadas como recursos para pontuação.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
- Herança
-
TensorflowCatalog
Comentários
O TensorFlowTransform extrai as saídas especificadas usando um modelo tensorflow pré-treinado. Opcionalmente, ele pode treinar ainda mais o modelo TensorFlow em dados do usuário para ajustar parâmetros de modelo nos dados do usuário ( também conhecido como "Transferir Aprendizado").
Para pontuação, a transformação usa como entradas o modelo tensorflow pré-treinado, os nomes dos nós de entrada e os nomes dos nós de saída cujos valores queremos extrair. Para treinar novamente, a transformação também requer parâmetros relacionados ao treinamento, como os nomes da operação de otimização no grafo TensorFlow, o nome da operação de taxa de aprendizagem no grafo e seu valor, o nome das operações no grafo para calcular a perda e a métrica de desempenho etc.
Essa transformação requer que o nuget Microsoft.ML.TensorFlow seja instalado. O TensorFlowTransform tem as seguintes suposições sobre entrada, saída, processamento de dados e retreinamento.
- Para o modelo de entrada, atualmente o TensorFlowTransform dá suporte ao formato de modelo Frozen e também ao formato SavedModel . No entanto, o retreinamento do modelo só é possível para o formato SavedModel . No momento, o formato de ponto de verificação não tem suporte para pontuação nem para retreinamento devido à falta de suporte à C-API tensorFlow para carregá-lo.
- A transformação dá suporte à pontuação de apenas um exemplo por vez. No entanto, o retreinamento pode ser executado em lotes.
- Cenários avançados de aprendizado de transferência/ajuste fino (por exemplo, adicionar mais camadas à rede, alterar a forma de entradas, congelar as camadas que não precisam ser atualizadas durante o processo de retreinamento etc.) atualmente não são possíveis devido à falta de suporte para manipulação de rede/grafo dentro do modelo usando a C-API tensorFlow.
- O nome das colunas de entrada deve corresponder ao nome das entradas no modelo TensorFlow.
- O nome de cada coluna de saída deve corresponder a uma das operações no grafo TensorFlow.
- Atualmente, double, float, long, int, short, sbyte, ulong, uint, ushort, byte e bool são os tipos de dados aceitáveis para entrada/saída.
- Após o sucesso, a transformação introduzirá uma nova coluna correspondente IDataView a cada coluna de saída especificada.
As entradas e saídas de um modelo tensorFlow podem ser obtidas usando as GetModelSchema() ferramentas ou summarize_graph .
Métodos
LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean) |
Carregue o modelo TensorFlow na memória. Esse é o método de conveniência que permite que o modelo seja carregado uma vez e, posteriormente, use-o para consultar o esquema e a criação do TensorFlowEstimator uso ScoreTensorFlowModel(String, String, Boolean). o uso dessa API requer dependências adicionais do NuGet no tensorFlow redist, consulte o documento vinculado para obter mais informações. TensorFlowModel também contém referências a recursos não gerenciados que precisam ser liberados com uma chamada explícita para Dispose() ou implicitamente declarando a variável com a sintaxe "using" /> |
LoadTensorFlowModel(ModelOperationsCatalog, String) |
Carregue o modelo TensorFlow na memória. Esse é o método de conveniência que permite que o modelo seja carregado uma vez e, posteriormente, use-o para consultar o esquema e a criação do TensorFlowEstimator uso ScoreTensorFlowModel(String, String, Boolean). o uso dessa API requer dependências adicionais do NuGet no tensorFlow redist, consulte o documento vinculado para obter mais informações. TensorFlowModel também contém referências a recursos não gerenciados que precisam ser liberados com uma chamada explícita para Dispose() ou implicitamente declarando a variável com a sintaxe "using" /> |