Compartilhar via


API C# da Biblioteca CNTK

A API Gerenciada da Biblioteca de CNTK é implementada em C#e pode ser consumida por C# e outros idiomas .NET. A página Usando a API Gerenciada da Biblioteca CNTK e usando CNTK com C# apresenta como usar essa API em seu aplicativo. As seções a seguir descrevem as classes e os métodos da API de Eval Gerenciada da Biblioteca CNTK.

classe CNTKLib

Essa é uma classe estática que contém muitas operações, inicialização e muitos métodos diversos.


public static Function Negate(Variable operand, string name = "");

Crie uma instância do CNTK operação de negação elementwise interna com o operando de entrada especificado. Parâmetros:

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Sigmoid(Variable operand, string name = "")

Operação Sigmoid. Ele usa uma variável de entrada e aplica a operação Sigmoid a ela.

Parâmetros:

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Tanh(Variable operand, string name)

Ativação de tanh. Ele usa uma variável de entrada e aplica a operação Tanh a ela.

Parâmetros:

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Asin(Variable operand, string name = "");

Crie uma instância do CNTK operação de asin elementwise interna com o operando de entrada especificado.

Parâmetros:

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Sin(Variable operand, string name = "");

Crie uma instância do CNTK operação de seno elementwise interna com o operando de entrada especificado. Parâmetros:

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Acos(Variable operand, string name = "");

Crie uma instância do CNTK operação de acos elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Cos(Variable operand, string name = "");

Crie uma instância do CNTK operação de cosseno elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Cosh(Variable operand, string name = "");

Crie uma instância do CNTK operação de cosh elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Sinh(Variable operand, string name = "");

Crie uma instância do CNTK operação de sinh elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function ReLU(Variable operand, string name = "")

Ativação linear retificador. Ele usa uma variável de entrada e aplica a operação de ativação linear retificador a ela.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Exp(Variable operand, string name = "");

Crie uma instância do CNTK operação de exp de elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Log(Variable operand, string name = "");

Crie uma instância do CNTK operação de log de elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Square(Variable operand, string name = "");

Crie uma instância do CNTK operação quadrada de elementwise interna com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Sqrt(Variable operand, string name = "");

Crie uma instância do CNTK operação de raiz quadrada no sentido elemental interno com o operando de entrada especificado.

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Softmax(Variable operand, Axis axis, string name = "")

Crie uma instância do CNTK operação de softmax interna no eixo especificado em parâmetros de operando de entrada tensor especificados:

  • operand: a variável de entrada da operação. Pode ser a taxa de transferência de outra função.
  • axis: o eixo para aplicar a operação softmax
  • name: o nome da operação.

public static Function Hardmax(Variable operand, string name = "");

Criar uma instância do CNTK operação hardmax interna no operando de entrada tensor especificado

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Transpose(Variable operand, string name = "");

Criar uma instância do CNTK operação de transposição interna no operando de entrada 1D ou 2D especificado

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Dropout(Variable operand, dropoutRate, uint seed, string name = "");

Criar uma instância da operação de desistência no operando de entrada tensor especificado

  • operand: as variáveis de entrada. Pode ser a taxa de transferência de outra função.
  • dropoutRate:
  • seed:
  • name: o nome da operação.

public static Function Reshape(Variable operand, NDShape replacementShape, Axis beginAxis, Axis endAxis, string name = "");

Criar uma instância da operação de remodelação no operando de entrada tensor especificado


public static Function Times(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação interna de multiplicação de tensor com os operandos de entrada especificados.


public static Function TransposeTimes(Variable leftOperand, Variable rightOperand, uint outputRank, string name = "");

Crie uma instância do CNTK operação de multiplicação de matriz interna com a transposição do operando de entrada esquerdo e o operando direito especificado. Aceita apenas operandos esquerdos das fileiras 1 ou 2.


public static Function Plus(Variable leftOperand, Variable rightOperand, string name = "")

Uma operação de adição de tensor elementwise binário. Parâmetros:

  • leftOperand: a variável esquerda da operação de adição. Pode ser a taxa de transferência de outra função.
  • rightOperand: a variável esquerda da operação de adição. Pode ser a taxa de transferência de outra função.
  • name: o nome da operação.

public static Function Minus(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação interna de subtração tensor no sentido elemental com os operandos de entrada especificados.


public static Function LogAddExp(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação de tensor elementwise interna que computa o log da soma dos exponenciales dos operandos de entrada especificados.


public static Function Pow(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação de tensor elementwise interna que computa o leftOperand gerado para o poder do operando à direita.


public static Function ElementTimes(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação de multiplicação elementwise interna em operandos de entrada tensor especificados.


public static Function ElementDivide(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação de divisão elementwise interna em operandos de entrada tensor especificados.


public static Function CosineDistance(Variable leftOperand, Variable rightOperand, string name = "");

Crie uma instância do CNTK operação interna para calcular a distância de cosseno para os operandos de entrada especificados.


public static Function CosineDistanceWithNegativeSamples(Variable leftOperand, Variable rightOperand, uint shiftWindow, uint numberOfNegativeSamples, string name = "");

Crie uma instância do CNTK operação interna para calcular a distância de cosseno com amostras negativas para os operandos de entrada especificados.


public static Function BinaryCrossEntropy(Variable prediction, Variable targets, string name = "");

Crie uma instância do CNTK operação interna para computar entropia cruzada binária para operandos de entrada especificados.


public static Function WeightedBinaryCrossEntropy(Variable prediction, Variable targets, Variable weights, string name = "");

Crie uma instância do CNTK operação interna para calcular entropia cruzada binária ponderada para operandos de entrada especificados.


public static Function CrossEntropyWithSoftmax(Variable prediction, Variable labels, Axis axis, string name = "");

Crie uma instância do CNTK operação interna para calcular entropia cruzada com softmax para operandos de entrada especificados.


public static Function ClassificationError(Variable prediction, Variable labels, uint topN, Axis axis, string name = "");

Crie uma instância do CNTK operação interna para calcular o erro de previsão de classificação para operandos especificados.


public static Function PastValue(Variable operand, Variable initialState, uint offset = 1, string name = "");

Crie uma instância do CNTK operação interna para obter o valor passado ao longo do eixo dinâmico solitário do operando especificado.


public static Function FutureValue(Variable operand, Variable initialState, uint offset = 1, string name = "");

Crie uma instância do CNTK operação interna para obter o valor futuro ao longo do eixo dinâmico solitário do operando especificado.


public static Function Convolution(Variable convolutionMap,
                                     Variable operand,
                                     NDShape strides = { 1 },
                                     BoolVector sharing = { true },
                                     BoolVector autoPadding = { true },
                                     NDShape dilation = { 1 },
                                     uint reductionRank = 1,
                                     uint maxTempMemSizeInSamples = 0,
                                     string name = "");

Convolução


public static Function ROIPooling(Variable operand,
                                    Variable rois,
                                    PoolingType poolingType,
                                    NDShape roiOutputShape,
                                    double spatialScale,
                                    string name= "");

Criar uma instância do CNTK operação interna de pooling roi em operandos de entrada tensor especificados com a forma de saída especificada


public static Function Pooling(Variable operand,
                                 PoolingType poolingType,
                                 NDShape poolingWindowShape,
                                 NDShape strides = {1},
                                 BoolVector autoPadding = {false},
                                 const bool ceilOutDim = false,
                                 const bool includePad = false,
                                 string name = "");

public static Function BatchNormalization(Variable operand,
                                            Variable scale,
                                            Variable bias,
                                            Variable runningMean,
                                            Variable runningInvStd,
                                            Variable runningCount,
                                            bool spatial,
                                            double normalizationTimeConstant = 0,
                                            double blendTimeConstant = 0,
                                            double epsilon = 0.00001,
                                            bool useCuDNNEngine = true,
                                            string name = "");

public static Function Splice(VariableVector operands, Axis axis, string name = "");

Criar uma instância do CNTK operação de junção interna para unir todos os operandos tensores especificados em um tensor de saída única


public static Function Combine(VariableVector operands, string name = "");

Crie uma nova instância de Função que apenas combina as saídas da lista especificada de Funções 'operandos' de modo que as 'Saídas' da nova 'Função' sejam união das 'Saídas' de cada uma das Funções 'operandos' especificadas. Por exemplo, ao criar um modelo de classificação, normalmente a Função de perda CrossEntropy e a Função ClassificationError compõem as duas raízes do grafo de computação que podem ser "Combinadas" para criar uma única função com 2 saídas; Viz. Perda de CrossEntropy e saída ClassificationError.


public static Function LeakyReLU(Variable operand, string name = "");

Crie uma instância do CNTK operação de retificador linear com vazamento de elemento interno com o operando de entrada especificado.

Aprendiz de classe

Função de classe

Um Function denota uma computação simbólica com zero ou mais argumentos de entrada e uma ou mais saídas. Uma função pode ser primitiva ou composta (composta por outras instâncias de função cujas entradas e saídas são conectadas). Uma Função é efetivamente um grafo de computação composto por outras funções primitivas (denotando a computação) como nós e Variable objetos (denotando dados) como as bordas e folhas do grafo.

A Function classe contém as seguintes propriedades e métodos relevantes para avaliação:


public string Name { get; }

Nome da Função.


public IList<Variable> Arguments { get; }

Lista de todas as variáveis de entrada da função que não são do tipo Parâmetro ou Constante. Essas variáveis são entradas necessárias para calcular as saídas da Função.


public Variable Output { get; }

A variável de saída única da função, se houver apenas uma. Caso contrário, uma exceção de runtime será gerada no acesso.


public IList<Variable> Outputs { get; }

Lista de todas as variáveis de saída da função.


public Function RootFunction { get; }

Retorna a função primitiva na raiz do grafo de funções subjacentes à Função. Se a função em si for uma função primitiva, (this-RootFunction>() == this).


public string OpName { get; }

O nome da operação que a Função denota.


public bool IsComposite { get; }

Um valor booliano que indica se a Função é uma função composta.


public bool IsPrimitive { get; }

Um valor booliano que indica se a Função é uma função primitiva.


public bool IsBlock { get; }

Um valor booliano que indica se a Função é uma função de bloco.


public void Evaluate(IDictionary<Variable, Value> inputs, IDictionary<Variable, Value> outputs, DeviceDescriptor computeDevice)
public void Evaluate(IDictionary<Variable, Value> inputs, IDictionary<Variable, Value> outputs, bool createPersistentOutputValues, DeviceDescriptor computeDevice)

Avalia a Função usando a entrada especificada. Ele calcula as saídas da Função com base nos valores fornecidos para cada variável de entrada especificada no inputs dicionário. As saídas são armazenadas nos valores de saída correspondentes às variáveis de saída no outputs dicionário.

Parâmetros:

  • inputs: as variáveis de entrada e seus valores da Função.
  • outputs: valores de saída para cada variável de saída. O chamador pode especificar o objeto Value para armazenar a saída ou passar null nesse caso o método aloca o armazenamento para os resultados de saída. Em ambos os casos, ao retornar, o objeto Value contém o resultado da saída correspondente da Função. Se um null valor foi especificado e o parâmetro createPersistentOutputValues não é especificado ou está definido como false, o objeto Value retornado pelo método é temporário e só tem garantia de ser válido até a próxima chamada Para Frente/Para Trás. Se ele precisar ser acessado posteriormente, você deverá especificar createPersistentOutputValuestrueo objeto Value temporário ou explicitamente DeepClone .
  • computeDevice: o dispositivo no qual a computação é executada. Ele deve estar alinhado com o dispositivo no qual o modelo é carregado.
  • createPersistentOutputValues: somente relevante se um null valor foi especificado nas saídas. Se ele estiver definido como true, o método criará objetos Value persistentes, caso contrário, os objetos Value serão temporários e serão válidos somente até a próxima chamada Para Frente/Para Trás.

public Function Clone(ParameterCloningMethod parameterCloneMethod = ParameterCloningMethod.Share)

Função Clones this .

Parâmetros:

  • parameterCloneMethod: especifica como os parâmetros da Função são clonados: ParameterCloningMethod.Share – os parâmetros são compartilhados entre a Função que está sendo clonada e o novo clone. Esse valor deverá ser usado se a Função clonada for usada para avaliação simultânea. ParameterCloningMethod.Clone - Novos parâmetros aprendizes são criados e inicializados com os valores atuais dos parâmetros correspondentes da Função que estão sendo clonados. ParameterCloningMethod.Freeze - Os parâmetros são clonados e tornaram-se imutáveis; Ou seja, constantes no novo clone (por exemplo, para uso como um extrator de recursos fixo). ParameterCloningMethod é definido aqui.

public Function FindByName(string name, bool nestedSearchInsideBlockFunction)

Localiza uma função com o nome fornecido no grafo de função subjacente à Função. Se houver mais de uma função com o mesmo nome, uma exceção será gerada. Se aninhadoSearchInsideBlockFunction for verdadeiro, pesquise todas as funções dentro de funções de bloco também.

Parâmetros:

  • name: o nome a ser pesquisado.
  • nestedSearchInsideBlockFunction: se for verdadeiro, todas as funções dentro das funções de bloco também serão examinadas.

public IList<Function> FindAllWithName(string name, bool nestedSearchInsideBlockFunction = false)

Localiza uma lista de funções com o nome fornecido no grafo de função subjacente à Função. Se aninhadoSearchInsideBlockFunction for verdadeiro, pesquise todas as funções dentro de funções de bloco também.

Parâmetros:

  • name: o nome a ser pesquisado.
  • nestedSearchInsideBlockFunction: se for verdadeiro, todas as funções dentro das funções de bloco também serão examinadas.

public static Function Load(string modelFile, DeviceDescriptor computeDevice)

Carrega uma função de um arquivo de modelo.

Parâmetros:

  • modelFile: o caminho para o arquivo de modelo.
  • computeDevice: o dispositivo no qual a Função é carregada.

public static Function Load(byte[] modelBuffer, DeviceDescriptor computeDevice)

Carrega uma função de um buffer de memória que representa um modelo.

Parâmetros:

  • modelBuffer: a matriz de bytes contém o conteúdo do modelo serializado.
  • computeDevice: o dispositivo no qual a Função é carregada.

public static Function Combine(IEnumerable<Variable> operands)

Cria uma nova instância de função que combina as saídas da lista especificada de 'operandos' do Functions. As 'Saídas' da nova 'Função' são a união das 'Saídas' de cada uma das Funções 'operandos' especificadas. Por exemplo, ao criar um modelo de classificação, normalmente a Função de perda CrossEntropy e a Função ClassificationError compõem as raízes do grafo de computação que pode ser "Combinar"d para criar uma única Função com 2 saídas; Viz. Perda de CrossEntropy e saída ClassificationError.

Parâmetro:

  • operands: a lista das funções ou variáveis que devem ser incluídas nas saídas da nova função.

public static Function AsComposite(Function rootFunction, string name = "")

Cria uma função composta que tem o rootFunction especificado como sua raiz. A composição denota uma função de nível superior encapsulando todo o grafo de Funções subjacente à rootFunction especificada.

Parâmetros:

  • rootFunction: a raiz da função composta a ser criada.
  • name: o nome da função composta a ser criada.

public static Function Alias(Variable operand, string name = "")

Cria uma nova instância de função que é apenas um alias do operando especificado.

Parâmetros:

  • operand: a função ou variável para a qual a função de alias é criada.
  • name: o nome da nova função a ser criada.

valor da classe

A Value é uma matriz multidimensional com uma máscara opcional e são os dados reais alimentados ou produzidos a partir de uma computação.


Os métodos a seguir criam um objeto Value usando entrada densa com a forma tensor especificada.


public static Value CreateBatch<T>(NDShape sampleShape, IEnumerable<T> batch, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém um lote de amostras. O número de exemplos no lote é o número de elementos divididos batch pelo tamanho do (ocorre um erro de shape runtime se o restante não for zero). O objeto Value criado contém uma cópia dos dados especificados em batch.

Parâmetros:

  • sampleShape: a forma tensor do objeto Value.
  • batch: os dados a serem contidos no objeto Value.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o objeto Value será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(NDShape sampleShape, IEnumerable<T> sequence, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos. O objeto Value criado contém uma cópia dos dados especificados em sequence. O comprimento da sequência é o número de elementos divididos sequence pelo tamanho do shape (ocorre um erro de runtime se o restante não for zero). A sequência criada é uma nova sequência.

Parâmetros:

  • sampleShape: a forma tensor do Valor.
  • sequence: os dados a serem contidos no Valor.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(NDShape sampleShape, IEnumerable<T> sequence, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos. O objeto Value criado contém uma cópia dos dados especificados sequence . A sequenceStartFlag especifica se essa sequência é uma nova sequência ou continuação de uma sequência anterior de uma chamada anterior para este método. O comprimento da sequência é o número de elementos divididos sequence pelo tamanho do shape (ocorre um erro de runtime se o restante não for zero).

Parâmetros:

  • sampleShape: a forma tensor do Valor.
  • sequence: os dados a serem contidos no Valor.
  • sequenceStartFlag: true indica que é uma nova sequência. false significa uma continuação de uma sequência anterior.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateBatchOfSequences<T>(NDShape sampleShape, IEnumerable<IEnumerable<T>> batchOfSequences, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém um lote de sequências de comprimento variável. O objeto Value criado contém uma cópia dos dados especificados em batchOfSequences. O número de sequências no lote é do tamanho de batchOfSequences. O comprimento de cada sequência é o número de elementos na sequência correspondente de batchOfSequences dividido pelo tamanho de (um erro de shape runtime ocorre se o restante não for zero). Cada sequência é batchOfSequences uma nova sequência.

Parâmetros:

  • sampleShape: a forma tensor do Valor.
  • batchOfSequences: os dados a serem armazenados no Valor. O exterior IEnumerable representa uma coleção de sequências com comprimento variável e o interior IEnumerable representa cada sequência individual.
  • device: em qual dispositivo o Valor deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateBatchOfSequences<T>(NDShape sampleShape, IEnumerable<IEnumerable<T>> batchOfSequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém um lote de sequências de comprimento variável. O objeto Value criado contém uma cópia dos dados especificados em batchOfSequences. O número de sequências no lote é do tamanho de batchOfSequences. O comprimento de cada sequência é o número de elementos na sequência correspondente de batchOfSequences dividido pelo tamanho de (um erro de shape runtime ocorre se o restante não for zero).

Parâmetros:

  • sampleShape: a forma tensor do Valor.
  • batchOfSequences: os dados a serem armazenados no Valor. O exterior IEnumerable representa uma coleção de sequências com comprimento variável e o interior IEnumerable representa cada sequência individual.
  • sequenceStartFlags: uma coleção de valores boolianos. Cada elemento representa se a sequência batchOfSequences correspondente é uma nova sequência (no caso de true) ou uma continuação de uma sequência anterior (no caso de false).
  • device: em qual dispositivo o Valor deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

Os métodos a seguir criam um objeto Value usando entrada de vetor único.


public static Value CreateBatch<T>(int dimension, IEnumerable<int> batch, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém um lote de amostras. Cada exemplo é representado por um valor de índice que aponta para o valor diferente de zero no vetor único dos dimension elementos. O número de exemplos no lote é o número de elementos em batch.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o tamanho da dimensão do vetor único.
  • batch: a coleção de índices que representa o lote de amostras.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(int dimension, IEnumerable<int> sequence, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos. Cada exemplo é representado por um valor de índice que aponta para o valor diferente de zero no vetor único dos dimension elementos. O comprimento da sequência é o número de elementos em sequence. A sequência criada é uma nova sequência.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o tamanho da dimensão do vetor único.
  • sequence: a coleção de índices que representa a sequência de exemplos.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(int dimension, IEnumerable<int> sequence, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos. Cada exemplo é representado por um valor de índice que aponta para o valor diferente de zero no vetor único dos dimension elementos. A sequenceStartFlag especifica se essa sequência é uma nova sequência ou continuação de uma sequência anterior de uma chamada anterior para este método. O comprimento da sequência é o número de elementos em sequence.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o tamanho da dimensão do vetor único.
  • sequence: a coleção de índices que representa a sequência de exemplos.
  • sequenceStartFlag: true indica que é uma nova sequência. false significa uma continuação de uma sequência anterior.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateBatchOfSequences<T>(int dimension, IEnumerable<IEnumerable<int>> batchOfSequences, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém um lote de sequências de comprimento variável. Cada exemplo é representado por um valor de índice que aponta para o valor diferente de zero no vetor único dos dimension elementos. O número de sequências é o número de elementos na coleção externa de batchOfSequences. O comprimento de cada sequência é o número de elementos da sequência correspondente na lista de coleção de batchOfSequences. Cada sequência é batchOfSequences uma nova sequência.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o tamanho da dimensão do vetor único.
  • batchOfSequences: a coleção de índices que representam sequências de exemplos. O exterior IEnumerable representa uma coleção de sequências com comprimento variável e o interior IEnumerable representa cada sequência individual.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateBatchOfSequences<T>(int dimension, IEnumerable<IEnumerable<int>> batchOfSequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém um lote de sequências de comprimento variável. Cada exemplo é representado por um valor de índice que aponta para o valor diferente de zero no vetor único dos dimension elementos. O número de sequências é o número de elementos na coleção externa de batchOfSequences. O comprimento de cada sequência é o número de elementos da sequência correspondente na coleção interna de batchOfSequences.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o tamanho da dimensão do vetor único.
  • batchOfSequences: a coleção de índices que representam sequências de exemplos. O exterior IEnumerable representa uma coleção de sequências com comprimento variável e o interior IEnumerable representa cada sequência individual.
  • sequenceStartFlags: uma coleção de valores boolianos. Cada elemento representa se a sequência batchOfSequences correspondente é uma nova sequência (no caso de true) ou uma continuação de uma sequência anterior (em caso de false).
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

Os métodos a seguir criam um objeto Value usando entrada esparsa.

Atualmente, há suporte para csc (formato de coluna esparsa compactada). O formato CSC armazena a matriz no formato de coluna principal e a matriz que contém os índices de coluna é compactada. Uma matriz no formato CSC é representada pelos seguintes parâmetros:

  • nonZeroValues: a matriz de dados que contém todos os valores não zero da matriz no formato de coluna principal.
  • rowIndices: a matriz que contém os índices de linha dos elementos correspondentes na matriz nonZeroValues.
  • colStarts: a matriz que contém índices nas matrizes rowIndices e nonZeroValues.

Uma descrição detalhada do formato CSC pode ser encontrada aqui.


public static Value CreateSequence<T>(NDShape sampleShape, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos usando o formato de entrada esparso CSC. O comprimento da sequência é o número de linhas da matriz esparsa. A sequência criada é uma nova sequência.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • sampleShape: a forma tensor do Valor. Para entrada esparsa, a dimensionalidade à esquerda da forma tensor deve ser igual ao tamanho total da forma tensor.
  • sequenceLength: o comprimento da sequência, que também é o número de linhas na matriz esparsa.
  • colStarts: a matriz contém índices para cada coluna nas matrizes rowIndices e nonZeroValues.
  • rowIndices: a matriz que contém os índices de linha dos elementos correspondentes na matriz nonZeroValues.
  • nonZeroValues: a matriz que contém todos os valores não zero na matriz esparsa.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(NDShape sampleShape, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos usando o formato de entrada esparso CSC. O comprimento da sequência é o número de linhas da matriz esparsa. O sequenceStartFlag especifica se essa sequência é uma nova sequência ou continuação de uma sequência anterior de uma chamada anterior para este método.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • sampleShape: a forma tensor do Valor. Para entrada esparsa, a dimensionalidade à esquerda da forma tensor deve ser igual ao tamanho total da forma tensor.
  • sequenceLength: o comprimento da sequência, que também é o número de linhas na matriz esparsa.
  • colStarts: a matriz contém índices para cada coluna nas matrizes rowIndices e nonZeroValues.
  • rowIndices: a matriz que contém os índices de linha dos elementos correspondentes na matriz nonZeroValues.
  • nonZeroValues: a matriz que contém todos os valores não zero na matriz esparsa.
  • sequenceStartFlag: true indica que é uma nova sequência. false significa uma continuação de uma sequência anterior.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(int dimension, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos usando o formato de entrada esparso CSC. O comprimento da sequência é o número de linhas da matriz esparsa. A sequência criada é uma nova sequência.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o número de colunas na matriz esparsa.
  • sequenceLength: o comprimento da sequência, que também é o número de linhas na matriz esparsa.
  • colStarts: a matriz contém índices para cada coluna nas matrizes rowIndices e nonZeroValues.
  • rowIndices: a matriz que contém os índices de linha dos elementos correspondentes na matriz nonZeroValues.
  • nonZeroValues: a matriz que contém todos os valores não zero na matriz esparsa.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value CreateSequence<T>(int dimension, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value que contém uma sequência de exemplos usando o formato de entrada esparso CSC. O comprimento da sequência é o número de linhas da matriz esparsa. O sequenceStartFlag especifica se essa sequência é uma nova sequência ou continuação de uma sequência anterior.

Parâmetros:

  • T: tipo de dados do objeto Value criado. Atualmente, float e double há suporte.
  • dimension: o número de colunas na matriz esparsa.
  • sequenceLength: o comprimento da sequência, que também é o número de linhas na matriz esparsa.
  • colStarts: a matriz contém índices para cada coluna nas matrizes rowIndices e nonZeroValues.
  • rowIndices: a matriz que contém os índices de linha dos elementos correspondentes na matriz nonZeroValues.
  • nonZeroValues: a matriz que contém todos os valores não zero na matriz esparsa.
  • sequenceStartFlag: true indica que é uma nova sequência. false significa uma continuação de uma sequência anterior.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

Os métodos a seguir criam um objeto Value a partir de NDArrayView.


public static Value Create(NDShape sampleShape, IEnumerable<NDArrayView> sequences, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value com base em uma coleção de NDArrayViews. Cada sequência é sequences uma nova sequência.

Parâmetros:

  • sampleShape: a forma tensor do valor que está sendo criado.
  • sequences: uma coleção de sequências representadas por NDArrayView. Cada NDArrayView representa uma sequência.
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

public static Value Create(NDShape sampleShape, IEnumerable<NDArrayView> sequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)

Cria um novo objeto Value com base em uma coleção de NDArrayViews. O sequenceStartFlags especifica se uma sequência é uma nova sequência ou continuação de uma sequência anterior.

Parâmetros:

  • sampleShape: a forma tensor do valor que está sendo criado.
  • sequences: uma coleção de sequências representadas por NDArrayView. Cada NDArrayView representa uma sequência.
  • sequenceStartFlags: uma coleção de valores boolianos. Cada elemento representa se a sequência sequences correspondente é uma nova sequência (no caso de true) ou uma continuação de uma sequência anterior (em caso de false).
  • device: em qual dispositivo o objeto Value deve ser criado.
  • readOnly: o valor será somente leitura se esse sinalizador for true.

Um objeto Value contém as propriedades e os métodos a seguir.


public Value(NDArrayView data)

Constrói um valor multidimensional sem máscara.


public Value(NDArrayView data, NDMask mask)

Constrói um valor multidimensional com uma máscara associada.


public DataType DataType { get; }

DataType dos dados contidos no objeto Value.


public DeviceDescriptor Device { get; }

O descritor do dispositivo no qual o Valor reside.


public NDShape Shape { get; }

A forma do Valor.


public StroageFormat StorageFormat { get; }

O formato de armazenamento do Valor.


public bool IsSparse { get; }

Um valor booliano que indica se o Valor contém dados no formato de armazenamento esparso.


public bool IsReadOnly { get; }

Um valor booliano que indica se o Valor é somente leitura.


public int maskedCount { get; }

O número de valores mascarados/inválidos no Valor.


public void CopyFrom(Value Source)

Copia o conteúdo do source Valor. As formas dos Sourcedados e da máscara devem ser idênticas aos dados e à this máscara do Valor.

Parâmetro:

  • Source: o objeto de origem do qual o Valor é copiado.

public Value DeepClone()

Cria um novo valor com armazenamento recém-alocado no mesmo dispositivo que this o Valor e copia this o conteúdo do Value para o valor recém-alocado.


public Value DeepClone(bool readOnly)

Cria um novo valor com armazenamento recém-alocado no mesmo dispositivo que this o Valor e copia this o conteúdo do Value para o valor recém-alocado.

Parâmetro:

  • readOnly: o novo objeto Value será somente leitura se esse sinalizador for true.

public Value Alias(bool readOnly)

Cria um novo valor que é um alias de this Valor. Parâmetro:

  • readOnly: o novo objeto Value será somente leitura se esse sinalizador for true.

public IList<IList<T>> GetDenseData<T>(Variable outputVariable)

Obtém os dados armazenados no objeto Value como uma lista de sequências com comprimento variável em formato denso. Este método retorna uma IList IList<>. Cada elemento da lista externa representa uma sequência. Cada sequência, representada por IList, contém um número variável de amostras. Cada exemplo consiste em um número fixo de elementos com o tipo 'T'. O número de elementos é determinado pela forma de outputVariable. O número de exemplos é a contagem de elementos na IList divididos pela contagem de elementos da amostra.

Parâmetro:

  • outputVariable: a variável para a qual o Valor indica. A forma da variável deve corresponder à forma do Valor.

public IList<IList<int>> GetOneHotData(Variable outputVariable)

Obtém os dados armazenados no objeto Value como uma lista de sequências com comprimento variável no formato de vetor único. Este método retorna uma IList IList<>. Cada elemento da lista externa representa uma sequência. Cada sequência, representada por IList, contém um número variável de amostras. Cada exemplo é representado por um índice para o vetor único. O número de exemplos é a contagem de elementos na IList.

Parâmetro:

  • outputVariable: a variável para a qual o Valor indica. O tamanho do vetor único deve corresponder ao definido na variável.

public void GetSparseData<T>(Variable outputVariable, out int sequenceLength, out IList<int> colStarts, out IList<int> rowIndices, out IList<T> nonZeroValues, out int numNonZeroValues)

Copie os dados armazenados no objeto Value para os buffers que representam uma sequência no formato esparso CSC. O buffer de sequência será redimensionado, se necessário. O Valor deve ter a mesma forma tensor que outputVariable. No retorno, sequenceLength é definido como o comprimento da sequência armazenada no Valor ecolStartsrowIndices, e nonZeroValues contém os dados de índices de início de coluna, índices de linha e valores não zero, e numNonZeroValues é definido como número de valores não zero contidos no this Valor.

Parâmetros:

  • outputVariable: denota a forma e os eixos dinâmicos ao copiar dados desse Valor para os buffers.
  • sequenceLength: no retorno, ele é definido como o comprimento da sequência armazenada no Valor.
  • colStarts: no retorno, ele contém índices no nonZeorValues primeiro elemento diferente de zero de cada coluna da matriz.
  • rowIndices: no retorno, ele contém os índices de linha de cada elemento diferente de zero da matriz.
  • nonZeroValues: no retorno, ele contém valores de todos os elementos não zero da matriz.
  • numNonZeroValues: no retorno, ele retorna o número de elementos não zero da matriz.

Os métodos a seguir serão preteridos em breve. Use GetDenseData() e GetOneHotData() descritos acima.


public void CopyVariableValueTo<T>(Variable outputVariable, List<List<T>> sequences)

Copia os dados armazenados no Valor no buffer fornecido por sequences. É sequences uma lista de sequências com comprimento variável. O número de itens contidos na lista sequences externa é o número de sequências no Valor. Cada elemento da lista externa representa uma sequência. Cada sequência, representada por List<T>, contém um número variável de amostras. Cada exemplo consiste em um número fixo de elementos com tipo de T. O número de elementos de uma amostra é determinado pela forma de outputVariable. A forma da variável deve corresponder à forma do Valor.

Parâmetros:

  • outputVariable: denota a forma e os eixos dinâmicos ao copiar dados do Valor para o sequences.
  • sequences: o buffer de saída usado para armazenar os dados copiados do Valor.

public void CopyVariableValueTo(Variable outputVariable, List<List<uint>> sequences

Copia os dados armazenados no objeto Value no buffer fornecido por sequences. É sequences uma lista de sequências com comprimento variável. O número de itens contidos na lista sequences externa é o número de sequências no Valor. Cada elemento da lista externa representa uma sequência. Cada sequência, representada por List<uint>, contém um número variável de amostras. Cada exemplo é representado por um índice que aponta para o valor diferente de zero no vetor único. O tamanho da dimensão do vetor de um hot deve corresponder ao definido no outputVariable.

Parâmetros:

  • outputVariable: denota a forma e os eixos dinâmicos ao copiar dados do Valor para o sequences.
  • sequences: o buffer de saída usado para armazenar os dados copiados do Valor.

variável de classe

Denota uma entidade simbólica correspondente às entradas e saídas de um Function.

As propriedades das Variable quais são frequentemente usadas na avaliação incluem:


public string Name { get; }

Nome da variável.


public NDShape Shape { get; }

Forma da variável.


public DataType DataTye { get; }

DataType(#enum-datatype) dos dados que a Variável representa.


public VariableKind Kind { get; }

O VariableKind da Variável.


public bool IsSparse { get; }

Um valor booliano que indica se a Variável denota dados esparsos.


public bool IsInput { get; }

Um valor booliano que indica se a variável é uma entrada.


public bool IsOutput { get; }

Um valor booliano que indica se a variável é uma saída.


public bool IsParameter { get; }

Um valor booliano que indica se a variável é um parâmetro.


public bool IsConstant { get; }

Um valor booliano que indica se a variável é uma constante.


public bool IsPlaceholder { get; }

Um valor booliano que indica se a variável é um espaço reservado.


public IList<Axis> DynamicAxes { get; }

Retorna os eixos dinâmicos da Variável.


public Function Owner { get; }

Retorna a função da qual a variável é uma saída. Retorna null quando a variável não é de saída VariableKind.

classe DeviceDescriptor

Denota uma instância de dispositivo de computação.

A classe DeviceDescriptor contém as seguintes propriedades e métodos:


public int Id { get; }

A ID do dispositivo.


public DeviceKind Type { get; }

DeviceKind do dispositivo.


public static DeviceDescriptor CPUDevice { get; }

O DeviceDescriptor que representa o dispositivo de CPU no sistema local.


public static DeviceDescriptor GPUDevice(int deviceId)

Obtém o DeviceDescriptor do dispositivo GPU no sistema local com a ID do dispositivo CUDA especificada.

Parâmetro:

  • deviceId: a ID do dispositivo CUDA.

public static IList<DeviceDescriptor> AllDevices()

Obtém uma lista de descritores de todos os dispositivos disponíveis/com suporte.

classe NDShape

Denota uma forma retangular multidimensional.


public NDShape()

Constrói um NDShape com 0 eixos, que indica um escalar.


public NDShape(int numAxes, int dimension)

Constrói uma instância NDShape com a classificação especificada e o tamanho da dimensão. Cada eixo tem a mesma dimensionalidade.

Parâmetros:

  • numAxes: o número de eixos da forma.
  • dimension: o tamanho da dimensão, aplicado a cada eixo.

public NDShape(int numAxes)

Constrói uma instância NDShape com a classificação especificada. A dimensionalidade em cada eixo é NDShape.InferredDimension.

Parâmetro:

  • numAxes: o número de eixos da forma.

public static NDShape CreateNDShape(IEnumerable<int> dimensions)

Cria uma instância NDShape com dimensões especificadas. Parâmetro:

  • dimensions: o tamanho da dimensão de cada eixo.

public int Rank { get; }

A classificação do NDShape.


public IList<int> Dimensions { get; }

As dimensões do NDShape.


public int TotalSize { get; }

O tamanho total da forma retangular que a Forma denota.


public int this[int key] { get; }

Retorna o tamanho da dimensão do eixo especificado.


public int IsUnknown { get; }

Um booliano que indica se a forma é a forma especial Desconhecida.


public int HasInferredDimension { get; }

Um valor booliano que indica se o tamanho da dimensão de qualquer um dos eixos da forma é desconhecido/inferido (NDShape.InferredDimension).


public NDShape AppendShape(NDShape shape)

Cria e retorna uma nova forma construída acrescentando as dimensões da "forma" especificada às this dimensões da forma.


public NDShape SubShape(int beginAxisId, int endAxisId)

Cria e retorna uma nova instância NDShape com as mesmas dimensões this que o intervalo de eixos especificado da forma [beginAxisId, endAxisId).


public NDShape SubShape(int beginAxisId)

Cria e retorna uma nova instância NDShape com as mesmas dimensões this que o intervalo de eixos da forma entre o eixo beginAxisId (inclusivo) e o último eixo (inclusive).

classe NDArrayView

Denota uma matriz multidimensional gravável ou somente leitura de valores elementos. Esse tipo denota uma exibição e pode haver várias exibições simultâneas dos dados subjacentes a uma instância do NDArrayView. Os dados subjacentes são armazenados em formato esparso ou denso e estão localizados em um dispositivo específico.


public NDArrayView(NDShape viewShape, float[] dataBuffer, DeviceDescriptor device, bool readOnly = false)
public NDArrayView(NDShape viewShape, double[] dataBuffer, DeviceDescriptor device, bool readOnly = false)

Constrói um NDArrayView com o 'dataBuffer' especificado em formato denso como o armazenamento de suporte no dispositivo especificado.

Parâmetros:

  • viewShape: a forma do NDArrayView que está sendo criado.
  • dataBuffer: os valores de dados contidos no NDArrayView. O 'dataBuffer' deve ser pelo menos tão grande quanto o tamanho total do 'viewShape' especificado e deve sobreviver ao objeto NDArrayView criado.
  • device: em qual dispositivo o objeto NDArrayView deve ser criado.
  • readOnly: o objeto NDArrayView será somente leitura se esse sinalizador for true.

public NDArrayView(NDShape viewShape, int[] colStarts, int[] rowIndices, float[] nonZeroValues, DeviceDescriptor device, bool readOnly = false)
public NDArrayView(NDShape viewShape, int[] colStarts, int[] rowIndices, double[] nonZeroValues, DeviceDescriptor device, bool readOnly = false)

Constrói um NDArrayView com o armazenamento especificado em formato CSC esparso no dispositivo especificado. Os dados esparsos especificados devem sobreviver ao objeto NDArrayView criado.

Parâmetros:

  • viewShape: a forma do NDArrayView que está sendo criado.
  • colStarts: a matriz contém índices para cada coluna nas matrizes rowIndices e nonZeroValues.
  • rowIndices: a matriz que contém os índices de linha dos elementos correspondentes na matriz nonZeroValues.
  • nonZeroValues: a matriz que contém todos os valores não zero na matriz esparsa. Os dados esparsos especificados devem sobreviver ao objeto NDArrayView criado.
  • device: em qual dispositivo o objeto NDArrayView deve ser criado.
  • readOnly: o objeto NDArrayView será somente leitura se esse sinalizador for true.

public DeviceDescriptor Device

O DeviceDescriptor do dispositivo no qual o NDArrayView reside.


public NDShape Shape

A forma do NDArrayView.


public DataType DataType

O DataType dos dados que o NDArrayView armazena.


public StroageFormat StorageFormat

O formato de armazenamento do NDArrayView.


public bool IsSparse

Um valor booliano que indica se o NDArrayView contém dados no formato de armazenamento esparso.


public bool IsReadOnly`

A boolean value indicating whether the NDArrayView is read-only.

***
```cs
public NDArrayView DeepClone()

Cria um novo NDArrayView com armazenamento recém-alocado no mesmo dispositivo que this o modo de exibição e copia this o conteúdo do modo de exibição para o modo de exibição recém-alocado.


public NDArrayView DeepClone(bool readOnly)

Cria um novo NDArrayView com armazenamento recém-alocado no mesmo dispositivo que this o modo de exibição e copia this o conteúdo do modo de exibição para o modo de exibição recém-alocado.

Parâmetro:

  • readOnly: o novo objeto NDArrayView será somente leitura se esse sinalizador for true.

public NDArrayView DeepClone(DeviceDescriptor device, bool readOnly)

Cria um novo NDArrayView com armazenamento recém-alocado no dispositivo especificado e copia this o conteúdo do modo de exibição para o modo de exibição recém-alocado.

Parâmetros:

  • device: em qual dispositivo o novo objeto NDArrayView deve ser criado.
  • readOnly: o novo objeto NDArrayView será somente leitura se esse sinalizador for true.

public NDArrayView Alias(bool readOnly)

Cria um novo NDArrayView que é um alias de this exibição; ou seja, uma nova exibição da mesma forma this que sobre os mesmos dados subjacentes.

Parâmetro:

  • readOnly: o novo objeto NDArrayView será somente leitura se esse sinalizador for true.

public NDArrayView AsShape(NDShape newShape)

Cria um novo NDArrayView que é um alias de this exibição, mas com uma nova forma.

Parâmetro:

  • newShape: a forma do novo objeto NDArrayView.

public void CopyFrom(NDArrayView source)

Copia o conteúdo do NDArrayView 'source' para this exibição. As formas do modo de exibição e this exibição 'source' devem ser idênticas.

Parâmetro:

  • source: o NDArrayView de origem cujo conteúdo é copiado para this exibição.

public void ChangeDevice(DeviceDescriptor device)

Altera o dispositivo do NDArrayView para o dispositivo especificado.

Parâmetro:

  • device: o dispositivo de destino do objeto NDArrayView.

classe NDMask

Denota uma máscara multidimensional usada para especificar seções específicas de um objeto NDArrayView como mascarada/inválida. Esse tipo denota uma exibição e pode haver várias exibições simultâneas dos dados subjacentes a uma instância do NDMask.


public NDMask(NDShape shape, DeviceDescriptor device)

Construa um novo objeto Mask da forma especificada no dispositivo especificado.

Parâmetros:

  • shape: a forma do objeto NDMask.
  • device: o dispositivo de destino do objeto MDMask.

public int MaskedCount { get; }

O número de valores mascarados/inválidos.


public int Device { get; }

O descritor do dispositivo no qual a máscara reside


public int Shape { get; }

A forma da máscara.


public void InvalidateSection(IEnumerable<int> sectionOffset, NDShape sectionShape)

Mascara a sub-seção especificada como inválida.

Parâmetros:

  • sectionOffset: uma lista que especifica as posições de início da seção que devem ser mascaradas como inválidas.
  • sectionShape: a forma descreve a seção que deve ser mascarada como inválida.

public void MarkSequenceBegin(IEnumerable<int> offset)

Marque a posição especificada como início da sequência.

Parâmetro:

  • sectionOffset: uma lista que especifica posições de início na máscara que devem ser mascaradas conforme a sequência começa.

public void MarkSequenceBegin(IEnumerable<int> offset, NDShape sectionShape)

Marque a subescasão especificada como início da sequência.

Parâmetros:

  • offset: uma lista que especifica as posições de início da seção que devem ser mascaradas conforme a sequência começa.
  • sectionShape: a forma descreve a seção que deve ser mascarada à medida que a sequência começa.

public void Clear()

Desmarque a máscara. Todos os valores atualmente mascarados como inválidos são definidos como válidos.


public NDMask DeepClone(DeviceDescriptor device)

Cria um novo NDMask com armazenamento recém-alocado no dispositivo especificado e copia this o conteúdo da máscara no modo de exibição recém-alocado.

Parâmetro:

  • device: o dispositivo de destino do objeto MDMask.

public NDMask DeepClone()

Cria um novo NDMask com armazenamento recém-alocado no mesmo dispositivo que this a máscara e copia this o conteúdo da máscara para a máscara recém-alocada.


public NDMask Alias()

Cria um novo NDMask que é um alias de this máscara.


public void CopyFrom(NDMask source)

Copia o conteúdo do source NDMask para mascarar this . As formas da máscara e this da source máscara devem ser idênticas.

Parâmetro:

  • source: o NDMask de origem cujo conteúdo é copiado para this exibição.

Eixo da classe

Denota um eixo de um Variable. Além dos eixos estáticos correspondentes a cada um dos eixos da forma da Variável, variáveis do tipo 'Input' e quaisquer Variáveis 'Output' dependentes de uma Variável 'Input' também têm dois eixos dinâmicos adicionais cujas dimensões são conhecidas somente quando a Variável está associada a dados reais durante a computação (eixo de sequência e eixo de lote denotando o eixo ao longo do qual várias sequências são em lotes)

As propriedades a seguir são definidas na classe Axis


public string Name { get; }

Nome do Eixo.


public bool IsStatic { get; }

Retorna um valor booliano que indica se o Eixo corresponde a um eixo estático.


public bool IsDynamic { get; }

Retorna um valor booliano que indica se o Eixo corresponde a um eixo dinâmico.

classe Utils


public static void SetMaxNumCPUThreads(int numCPUThreads)

Define o número máximo de threads de CPU em todo o processo a ser usado por qualquer operação de computação individual.


public static int GetMaxNumCPUThreads()

Retorna o número máximo de threads de CPU em todo o processo a ser usado por qualquer operação de computação individual.


public static void SetTraceLevel(TraceLevel value)

Especifica o nível de verbosidade de log global.


public static TraceLevel GetTraceLevel()

Retorna o nível de verbosidade de log atual.

enum VariableKind

Denota o tipo de objeto simbólico Variable

enum VariableKind { Input, Output, Parameter, Constant, Placeholder };

enum DataType

Denota o tipo de dados de entidades de dados simbólicas ou dados reais.

enum DataType { Unknown, Float, Double };

enum DeviceKind

Denota o tipo de um dispositivo de computação.

enum DeviceKind { CPU, GPU };

enum StorageFormat

Denota o formato de armazenamento subjacente a uma instância de um NDArrayView.

enum StorageFormat { Dense, SparseCSC, SparseBlockCol };

enum ParameterCloningMethod

Indica como os parâmetros são tratados ao clonar uma função.

enum ParameterCloningMethod {
    Share, // Parameters are shared between the Function being cloned and the new clone.
    Clone, // New learnable Parameters are created and initialized with the current values of the corresponding Parameters of the Function being cloned.
    Freeze // Parameters are cloned and made immutable.
};

enum TraceLevel

Denota níveis de verbosidade de log.

enum TraceLevel { Error, Warning, Info };