Biblioteca CNTK C# API
A API gerida CNTK biblioteca é implementada em C#, e pode ser consumida por C# e outras línguas .NET. A página Utilizando a API gerida CNTK Biblioteca e utilização de CNTK com C# apresenta como utilizar esta API na sua aplicação. As secções seguintes descrevem as classes e métodos da API Eval gerida pela Biblioteca CNTK.
classe CNTKLib
Esta é uma classe estática contém muitas operações, inicialização, e muitos métodos diversos.
public static Function Negate(Variable operand, string name = "");
Crie uma instância da CNTK operação incorporada de forma elementar nega com a entrada operand especificada. Parâmetros:
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Sigmoid(Variable operand, string name = "")
Operação Sigmoide. É necessária uma variável de entrada e aplica-lhe a operação Sigmoid.
Parâmetros:
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Tanh(Variable operand, string name)
Ativação tanh. É preciso uma variável de entrada e aplica-lhe a operação Tanh.
Parâmetros:
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Asin(Variable operand, string name = "");
Crie uma instância da CNTK operação de asin de elemento incorporado com a entrada operand especificada.
Parâmetros:
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Sin(Variable operand, string name = "");
Crie um exemplo do CNTK operação sine incorporada com a entrada operand especificada. Parâmetros:
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Acos(Variable operand, string name = "");
Crie uma instância da CNTK operação acos incorporada com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Cos(Variable operand, string name = "");
Crie uma instância da CNTK operação de cosina incorporada com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Cosh(Variable operand, string name = "");
Crie uma instância da CNTK operação de cosh incorporada com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Sinh(Variable operand, string name = "");
Crie uma instância da CNTK operação incorporada de elementos sinh com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function ReLU(Variable operand, string name = "")
Ativação linear retificador. Toma uma variável de entrada e aplica-lhe uma operação de ativação linear retificável.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Exp(Variable operand, string name = "");
Crie uma instância da CNTK operação incorporada de elementos com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Log(Variable operand, string name = "");
Crie uma instância da CNTK operação de registo de elementos incorporada com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Square(Variable operand, string name = "");
Crie uma instância da CNTK operação quadrada incorporada com a entrada operand especificada.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Sqrt(Variable operand, string name = "");
Crie uma instância da CNTK operação de raiz quadrada incorporada com o operand de entrada especificado.
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Softmax(Variable operand, Axis axis, string name = "")
Criar uma instância da CNTK operação softmax incorporada no eixo especificado num tempo de entrada de tensores especificado Parâmetros operand:
-
operand
: A variável de entrada da operação. Pode ser a saída 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 = "");
Crie uma instância da CNTK operação hardmax incorporada em operand de entrada de tensor especificado
-
operand
: As variáveis de entrada. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Transpose(Variable operand, string name = "");
Criar uma instância da CNTK operação de transposição incorporada na operand de entrada 1D ou 2D especificada
-
operand
: As variáveis de entrada. Pode ser a saída 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 abandono no operand de entrada de tensor especificado
-
operand
: As variáveis de entrada. Pode ser a saída 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 em operand de entrada de tensor especificado
public static Function Times(Variable leftOperand, Variable rightOperand, string name = "");
Crie uma instância da CNTK operação de multiplicação de tensores incorporados com os operands de entrada especificados.
public static Function TransposeTimes(Variable leftOperand, Variable rightOperand, uint outputRank, string name = "");
Crie um exemplo da CNTK operação de multiplicação da matriz incorporada com a transposição da entrada esquerda operand e o operand direito especificado. Só aceita óperas deixadas das fileiras 1 ou 2.
public static Function Plus(Variable leftOperand, Variable rightOperand, string name = "")
Uma operação binária de adição de tensores elementares. Parâmetros:
-
leftOperand
: A variável esquerda da operação mais. Pode ser a saída de outra função. -
rightOperand
: A variável esquerda da operação mais. Pode ser a saída de outra função. -
name
: o nome da operação.
public static Function Minus(Variable leftOperand, Variable rightOperand, string name = "");
Crie uma instância da CNTK operação de subtração de tensores de elementos incorporada com os operands de entrada especificados.
public static Function LogAddExp(Variable leftOperand, Variable rightOperand, string name = "");
Criar um exemplo da CNTK operação de tensor de elemento incorporado que calcula o registo da soma dos exponencials dos operands de entrada especificados.
public static Function Pow(Variable leftOperand, Variable rightOperand, string name = "");
Crie um exemplo da CNTK operação de tensor de elemento incorporado que calcula a esquerdaOperand elevou ao poder da ópera direita.
public static Function ElementTimes(Variable leftOperand, Variable rightOperand, string name = "");
Crie uma instância da CNTK operação de multiplicação de elementos incorporada em operações de entrada de tensor especificadas.
public static Function ElementDivide(Variable leftOperand, Variable rightOperand, string name = "");
Crie uma instância da CNTK operação de divisão de elementos incorporada em operações de entrada de tensor especificadas.
public static Function CosineDistance(Variable leftOperand, Variable rightOperand, string name = "");
Crie uma instância da CNTK operação incorporada para calcular a distância de cosine para os operands de entrada especificados.
public static Function CosineDistanceWithNegativeSamples(Variable leftOperand, Variable rightOperand, uint shiftWindow, uint numberOfNegativeSamples, string name = "");
Crie uma instância da CNTK operação incorporada para calcular a distância do cosine com amostras negativas para os operands de entrada especificados.
public static Function BinaryCrossEntropy(Variable prediction, Variable targets, string name = "");
Crie um exemplo da CNTK operação incorporada para calcular a inter-entropia binária para os operatórios de entrada especificados.
public static Function WeightedBinaryCrossEntropy(Variable prediction, Variable targets, Variable weights, string name = "");
Crie uma instância da CNTK operação incorporada para calcular a inter-entropia binária ponderada para os operatórios de entrada especificados.
public static Function CrossEntropyWithSoftmax(Variable prediction, Variable labels, Axis axis, string name = "");
Crie uma instância da CNTK operação incorporada para calcular a entropia cruzada com softmax para operatórios de entrada especificados.
public static Function ClassificationError(Variable prediction, Variable labels, uint topN, Axis axis, string name = "");
Crie uma instância da CNTK operação incorporada para calcular o erro de previsão de classificação para os operands especificados.
public static Function PastValue(Variable operand, Variable initialState, uint offset = 1, string name = "");
Crie uma instância da CNTK operação incorporada para obter o valor passado ao longo do eixo dinâmico solitário do operand especificado.
public static Function FutureValue(Variable operand, Variable initialState, uint offset = 1, string name = "");
Crie uma instância da CNTK operação incorporada para obter o valor futuro ao longo do eixo dinâmico solitário do operand 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 da CNTK operação de agrupamento ROI incorporada em operações de entrada de tensores especificadas 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 = "");
Crie uma instância da CNTK operação de emenda incorporada para juntar todos os operands de tensor especificados em um único tensor de saída
public static Function Combine(VariableVector operands, string name = "");
Crie uma nova instância de função que apenas combine as saídas da lista especificada de funções 'operands' de modo a que as 'Saídas' da nova 'Função' sejam a união das 'Saídas' de cada uma das funções de 'operands' especificadas. Por exemplo, ao criar uma classificação modelo, tipicamente a Função de Perda de CrossEntropy e a Função Classificador de Classificação compreendem as duas raízes do gráfico de cálculo que podem ser "Combinadas" para criar uma única Função com 2 saídas; viz. Perda de CrossEntropy e saída do ClassificationError.
public static Function LeakyReLU(Variable operand, string name = "");
Crie uma instância do CNTK funcionamento de retificador linear de fuga de elementos com a entrada operand especificada.
aluno de classe
Função classe
A Function
denota uma computação simbólica com argumentos de entrada zero ou mais 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 estão ligadas em conjunto). A Função é efetivamente um gráfico de cálculo composto por outras funções primitivas (denotando a computação) como nós e Variable
objetos (denotando dados) como as bordas e folhas do gráfico.
A Function
classe contém as seguintes propriedades e métodos que são relevantes para a 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 de parâmetro tipo ou constante. Estas variáveis são necessárias para calcular as saídas da Função.
public Variable Output { get; }
A única saída Variável da Função, se houver apenas uma. Caso contrário, uma exceção de tempo de execução é levantada no acesso.
public IList<Variable> Outputs { get; }
Lista de todas as variáveis de saída da Função.
public Function RootFunction { get; }
Devolve a Função primitiva na raiz do gráfico de funções subjacentes à Função. Se a função em si for uma função primitiva, então (esta-RaizFunction>(= == isto).
public string OpName { get; }
O nome da operação que a Função denota.
public bool IsComposite { get; }
Um valor booleano que indica se a Função é uma Função composta.
public bool IsPrimitive { get; }
Um valor booleano que indica se a Função é uma Função primitiva.
public bool IsBlock { get; }
Um valor booleano 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 utilizando a entrada especificada. 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 os seus valores da Função. -
outputs
: valores de saída para cada variável de saída. O autor da chamada pode especificar o objeto Valor para armazenar a saída ou passarnull
, caso em que o método atribui o armazenamento para os resultados de saída. Em ambos os casos, na devolução, o objeto Valor contém o resultado da saída correspondente da Função. Se umnull
Valor foi especificado, e o parâmetrocreatePersistentOutputValues
não é especificado ou definido parafalse
, o objeto Valor devolvido pelo método é temporário e apenas garantido para ser válido até a próxima chamada Para a Frente/Para Trás. Se tiver de ser acedido mais tarde, deve especificarcreatePersistentOutputValues
outrue
explicitamenteDeepClone
o objeto Valor Temporário. -
computeDevice
: o dispositivo em que o cálculo é executado. Deve estar alinhado com o dispositivo em que o modelo está carregado. -
createPersistentOutputValues
: Só é relevante se umnull
Valor for especificado nas saídas. Se estiver definido paratrue
, o método criará objetos de valor persistente, caso contrário os objetos Valor são temporários e só são válidos até à próxima chamada para a 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 partilhados entre a Função a ser clonada e o novo clone. Este valor deve ser utilizado se a Função clonada for utilizada para avaliação simultânea.ParameterCloningMethod.Clone
- Novos parâmetros aprecíveis são criados e inicializados com os valores atuais dos parâmetros correspondentes da Função a serem clonados.ParameterCloningMethod.Freeze
- Os parâmetros são clonados e imutáveis; ou seja, constantes no novo clone (por exemplo, para utilização como extrator de recurso fixo). ParâmetroCloningMethod é definido aqui.
public Function FindByName(string name, bool nestedSearchInsideBlockFunction)
Encontra uma função com o nome próprio no gráfico de função subjacente à Função. Se existir mais de uma função com o mesmo nome, é lançada uma exceção. Se aninhadoSearchInsideBlockFunction for verdadeiro, procure todas as funções dentro do bloco também.
Parâmetros:
-
name
: o nome a ser procurado. -
nestedSearchInsideBlockFunction
: se for verdade, todas as funções dentro das funções do bloco também são examinadas.
public IList<Function> FindAllWithName(string name, bool nestedSearchInsideBlockFunction = false)
Encontra uma lista de funções com o nome indicado no gráfico de função subjacente à Função. Se aninhadoSearchInsideBlockFunction for verdadeiro, procure todas as funções dentro do bloco também.
Parâmetros:
-
name
: o nome a ser procurado. -
nestedSearchInsideBlockFunction
: se for verdade, todas as funções dentro das funções do bloco também são examinadas.
public static Function Load(string modelFile, DeviceDescriptor computeDevice)
Carrega uma Função a partir de um ficheiro modelo.
Parâmetros:
-
modelFile
: o caminho para o ficheiro modelo. -
computeDevice
: o dispositivo em que a Função está carregada.
public static Function Load(byte[] modelBuffer, DeviceDescriptor computeDevice)
Carrega uma Função a partir de um tampão de memória que representa um modelo.
Parâmetros:
-
modelBuffer
: a matriz byte contém o conteúdo modelo serializado. -
computeDevice
: o dispositivo em que a Função está 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 'operands' de Funções. As 'Saídas' da nova 'Função' são a união das 'Saídas' de cada uma das funções 'operands' especificadas. Como exemplo, ao criar uma classificação modelo, tipicamente a Função de Perda de CrossEntropy e a Função ClassificaçãoError compreendem as raízes do gráfico de cálculo que pode ser "Combine"d para criar uma única Função com 2 saídas; viz. Perda de CrossEntropy e saída do 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 a raiz especificadaFunction como raiz. O composto denota uma função de nível superior que encapsula todo o gráfico de funções subjacente à raiz especificadaFuncção.
Parâmetros:
-
rootFunction
: a raiz da função composta a criar. -
name
: o nome da função composta a criar.
public static Function Alias(Variable operand, string name = "")
Cria uma nova instância de função que é apenas um pseudónimo do operand especificado.
Parâmetros:
-
operand
: a função ou variável para a qual a função de pseudónimo é criada. -
name
: o nome da nova função a criar.
valor de classe
A Value
é uma matriz multidimensional com uma máscara opcional e são os dados reais alimentados ou produzidos a partir de um cálculo.
Os seguintes métodos criam um objeto Valor utilizando uma entrada densa com a forma de tensor especificado.
public static Value CreateBatch<T>(NDShape sampleShape, IEnumerable<T> batch, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo um lote de amostras. O número de amostras no lote é o número de elementos divididos batch
pelo tamanho de (Um erro de shape
tempo de execução ocorre se o restante não for zero). O objeto Valor criado contém uma cópia dos dados especificados em batch
.
Parâmetros:
-
sampleShape
: a forma de tensor do objeto Valor. -
batch
: os dados a conter no objeto Valor. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o objeto Valor só é lido se esta bandeira fortrue
.
public static Value CreateSequence<T>(NDShape sampleShape, IEnumerable<T> sequence, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo uma sequência de amostras. O objeto Valor 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 de (Um erro de shape
tempo de execução ocorre se o restante não for zero). A sequência criada é uma nova sequência.
Parâmetros:
-
sampleShape
: a forma de tensor do Valor. -
sequence
: os dados a conter no Valor. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateSequence<T>(NDShape sampleShape, IEnumerable<T> sequence, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo uma sequência de amostras. O objeto Valor criado contém uma cópia dos dados especificados sequence
. A sequênciaStartFlag especifica se esta sequência é uma nova sequência ou continuação de uma sequência anterior de uma chamada anterior a este método. O comprimento da sequência é o número de elementos divididos sequence
pelo tamanho de (Um erro de shape
tempo de execução ocorre se o restante não for zero).
Parâmetros:
-
sampleShape
: a forma de tensor do Valor. -
sequence
: os dados a conter no Valor. -
sequenceStartFlag
:true
indica que é uma nova sequência.false
significa uma continuação de uma sequência anterior. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateBatchOfSequences<T>(NDShape sampleShape, IEnumerable<IEnumerable<T>> batchOfSequences, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo um lote de sequências de comprimento variável. O objeto Valor 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
tempo de execução ocorre se o restante não for zero). Cada sequência batchOfSequences
é uma nova sequência.
Parâmetros:
-
sampleShape
: a forma de tensor do Valor. -
batchOfSequences
: os dados a armazenar no Valor. O exteriorIEnumerable
representa uma coleção de sequências com comprimento variável, e o interiorIEnumerable
representa cada sequência individual. -
device
: em que dispositivo o Valor deve ser criado. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateBatchOfSequences<T>(NDShape sampleShape, IEnumerable<IEnumerable<T>> batchOfSequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo um lote de sequências de comprimento variável. O objeto Valor 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
tempo de execução ocorre se o restante não for zero).
Parâmetros:
-
sampleShape
: a forma de tensor do Valor. -
batchOfSequences
: os dados a armazenar no Valor. O exteriorIEnumerable
representa uma coleção de sequências com comprimento variável, e o interiorIEnumerable
representa cada sequência individual. -
sequenceStartFlags
: Uma coleção de valores boolean. Cada elemento representa se a sequênciabatchOfSequences
correspondente é uma nova sequência (em caso detrue
) ou uma continuação de uma sequência anterior (em caso defalse
). -
device
: em que dispositivo o Valor deve ser criado. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
Os seguintes métodos criam um objeto value usando a entrada de vetor de um quente.
public static Value CreateBatch<T>(int dimension, IEnumerable<int> batch, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo um lote de amostras. Cada amostra é representada por um valor de índice que aponta para o valor não-zero no vetor de um só quente de dimension
elementos. O número de amostras no lote é o número de elementos em batch
.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o tamanho da dimensão do vetor de um só calor. -
batch
: a recolha de índices que representem o lote de amostras. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateSequence<T>(int dimension, IEnumerable<int> sequence, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo uma sequência de amostras. Cada amostra é representada por um valor de índice que aponta para o valor não-zero no vetor de um só quente de 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 Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o tamanho da dimensão do vetor de um só calor. -
sequence
: a recolha de índices que representem a sequência de amostras. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateSequence<T>(int dimension, IEnumerable<int> sequence, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo uma sequência de amostras. Cada amostra é representada por um valor de índice que aponta para o valor não-zero no vetor de um só quente de dimension
elementos. A sequênciaStartFlag especifica se esta sequência é uma nova sequência ou continuação de uma sequência anterior de uma chamada anterior a este método. O comprimento da sequência é o número de elementos em sequence
.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o tamanho da dimensão do vetor de um só calor. -
sequence
: a recolha de índices que representem a sequência de amostras. -
sequenceStartFlag
:true
indica que é uma nova sequência.false
significa uma continuação de uma sequência anterior. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateBatchOfSequences<T>(int dimension, IEnumerable<IEnumerable<int>> batchOfSequences, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo um lote de sequências de comprimento variável. Cada amostra é representada por um valor de índice que aponta para o valor não-zero no vetor de um só quente de dimension
elementos. O número de sequências é o número de elementos na coleção exterior de batchOfSequences
. O comprimento de cada sequência é o número de elementos da sequência correspondente na lista de recolha de batchOfSequences
. Cada sequência batchOfSequences
é uma nova sequência.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o tamanho da dimensão do vetor de um só calor. -
batchOfSequences
: a recolha de índices que representam sequências de amostras. O exteriorIEnumerable
representa uma coleção de sequências com comprimento variável, e o interiorIEnumerable
representa cada sequência individual. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value CreateBatchOfSequences<T>(int dimension, IEnumerable<IEnumerable<int>> batchOfSequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value contendo um lote de sequências de comprimento variável. Cada amostra é representada por um valor de índice que aponta para o valor não-zero no vetor de um só quente de dimension
elementos. O número de sequências é o número de elementos na coleção exterior de batchOfSequences
. O comprimento de cada sequência é o número de elementos da sequência correspondente na recolha interna de batchOfSequences
.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o tamanho da dimensão do vetor de um só calor. -
batchOfSequences
: a recolha de índices que representam sequências de amostras. O exteriorIEnumerable
representa uma coleção de sequências com comprimento variável, e o interiorIEnumerable
representa cada sequência individual. -
sequenceStartFlags
: Uma coleção de valores boolean. Cada elemento representa se a sequênciabatchOfSequences
correspondente é uma nova sequência (em caso detrue
) ou uma continuação de uma sequência anterior (em caso defalse
). -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
Os seguintes métodos criam um objeto Valor utilizando a entrada escassa.
Atualmente, o Formato da Coluna Sparse Comprimida (CSC) é suportado. O formato CSC armazena a matriz em formato de coluna-grande, e a matriz que contém os índices de coluna é comprimido. Uma matriz no formato CSC é representada pelos seguintes parâmetros:
-
nonZeroValues
: a matriz de dados que detém todos os valores não zero da matriz em formato coluna-major. -
rowIndices
: a matriz que contém os índices de linha dos elementos correspondentes na matriznonZeroValues
. -
colStarts
: a matriz que mantém os índices nas matrizesrowIndices
enonZeroValues
.
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 contendo uma sequência de amostras utilizando o formato de entrada escasso do CSC. O comprimento da sequência é o número de linhas da matriz escassa. A sequência criada é uma nova sequência.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
sampleShape
: a forma de tensor do Valor. Para uma entrada escassa, a modelar a dimensão líder da forma do tensor deve ser a mesma do tamanho total da forma do tensor. -
sequenceLength
: o comprimento da sequência, que é também o número de linhas na matriz escassa. -
colStarts
: a matriz contém índices para cada coluna nas matrizesrowIndices
enonZeroValues
. -
rowIndices
: a matriz que contém os índices de linha dos elementos correspondentes na matriznonZeroValues
. -
nonZeroValues
: a matriz que detém todos os valores não zero na matriz escassa. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
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 contendo uma sequência de amostras utilizando o formato de entrada escasso do CSC. O comprimento da sequência é o número de linhas da matriz escassa. A sequênciaStartFlag especifica se esta sequência é uma nova sequência ou continuação de uma sequência anterior de uma chamada anterior a este método.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
sampleShape
: a forma de tensor do Valor. Para uma entrada escassa, a modelar a dimensão líder da forma do tensor deve ser a mesma do tamanho total da forma do tensor. -
sequenceLength
: o comprimento da sequência, que é também o número de linhas na matriz escassa. -
colStarts
: a matriz contém índices para cada coluna nas matrizesrowIndices
enonZeroValues
. -
rowIndices
: a matriz que contém os índices de linha dos elementos correspondentes na matriznonZeroValues
. -
nonZeroValues
: a matriz que detém todos os valores não zero na matriz escassa. -
sequenceStartFlag
:true
indica que é uma nova sequência.false
significa uma continuação de uma sequência anterior. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
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 contendo uma sequência de amostras utilizando o formato de entrada escasso do CSC. O comprimento da sequência é o número de linhas da matriz escassa. A sequência criada é uma nova sequência.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o número de colunas na matriz escassa. -
sequenceLength
: o comprimento da sequência, que é também o número de linhas na matriz escassa. -
colStarts
: a matriz contém índices para cada coluna nas matrizesrowIndices
enonZeroValues
. -
rowIndices
: a matriz que contém os índices de linha dos elementos correspondentes na matriznonZeroValues
. -
nonZeroValues
: a matriz que detém todos os valores não zero na matriz escassa. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
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 contendo uma sequência de amostras utilizando o formato de entrada escasso do CSC. O comprimento da sequência é o número de linhas da matriz escassa. A sequênciaStartFlag especifica se esta sequência é uma nova sequência ou continuação de uma sequência anterior.
Parâmetros:
-
T
: tipo de dados do objeto Valor criado. Atualmente,float
edouble
são apoiados. -
dimension
: o número de colunas na matriz escassa. -
sequenceLength
: o comprimento da sequência, que é também o número de linhas na matriz escassa. -
colStarts
: a matriz contém índices para cada coluna nas matrizesrowIndices
enonZeroValues
. -
rowIndices
: a matriz que contém os índices de linha dos elementos correspondentes na matriznonZeroValues
. -
nonZeroValues
: a matriz que detém todos os valores não zero na matriz escassa. -
sequenceStartFlag
:true
indica que é uma nova sequência.false
significa uma continuação de uma sequência anterior. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
Os seguintes métodos criam um objeto de Valor a partir de NDArrayView.
public static Value Create(NDShape sampleShape, IEnumerable<NDArrayView> sequences, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value baseado numa coleção de NDArrayViews. Cada sequência sequences
é uma nova sequência.
Parâmetros:
-
sampleShape
: a forma de tensor do Valor que está a ser criado. -
sequences
: uma coleção de sequências representadas pelo NDArrayView. Cada NDArrayView representa uma sequência. -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
public static Value Create(NDShape sampleShape, IEnumerable<NDArrayView> sequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)
Cria um novo objeto Value baseado numa coleção de NDArrayViews. A sequênciaStartFlags especifica se uma sequência é uma nova sequência ou continuação de uma sequência anterior.
Parâmetros:
-
sampleShape
: a forma de tensor do Valor que está a ser criado. -
sequences
: uma coleção de sequências representadas pelo NDArrayView. Cada NDArrayView representa uma sequência. -
sequenceStartFlags
: Uma coleção de valores boolean. Cada elemento representa se a sequênciasequences
correspondente é uma nova sequência (em caso detrue
) ou uma continuação de uma sequência anterior (em caso defalse
). -
device
: em que dispositivo deve ser criado o objeto Valor. -
readOnly
: o Valor só é lido se esta bandeira fortrue
.
Um objeto Value contém as seguintes propriedades e métodos.
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 Valor.
public DeviceDescriptor Device { get; }
O descritor do dispositivo em que 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 booleano que indica se o Valor contém dados em formato de armazenamento escasso.
public bool IsReadOnly { get; }
Um valor booleano que indica se o Valor é apenas de 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 Source
dados e máscaras devem ser idênticas aos this
dados e máscaras do Value.
Parâmetro:
-
Source
: O objeto de origem a partir do qual o Valor é copiado.
public Value DeepClone()
Cria um novo Valor com armazenamento recentemente atribuído no mesmo dispositivo this
que o Valor e copia this
o conteúdo do Valor no valor recém-atribuído.
public Value DeepClone(bool readOnly)
Cria um novo Valor com armazenamento recentemente atribuído no mesmo dispositivo this
que o Valor e copia this
o conteúdo do Valor no valor recém-atribuído.
Parâmetro:
-
readOnly
: o novo objeto Valor só é lido se esta bandeira fortrue
.
public Value Alias(bool readOnly)
Cria um novo Valor que é um pseudónimo de this
Valor.
Parâmetro:
-
readOnly
: o novo objeto Valor só é lido se esta bandeira fortrue
.
public IList<IList<T>> GetDenseData<T>(Variable outputVariable)
Obtém os dados armazenados no objeto Valor como uma lista de sequências com comprimento variável em formato denso. Este método devolve uma Lista IList<>. Cada elemento da lista exterior representa uma sequência. Cada sequência, representada pelo IList, contém um número variável de amostras. Cada amostra consiste num número fixo de elementos com o tipo de 'T'. O número de elementos é determinado pela forma de saídaVariável. O número de amostras é a contagem de elementos na Lista I dividida pela contagem de elementos da amostra.
Parâmetro:
-
outputVariable
: A variável a que o Valor denota. A forma da variável deve corresponder à forma do Valor.
public IList<IList<int>> GetOneHotData(Variable outputVariable)
Obtém os dados armazenados no objeto Valor como uma lista de sequências com comprimento variável em formato vetorial de um só calor. Este método devolve uma Lista IList<>. Cada elemento da lista exterior representa uma sequência. Cada sequência, representada pelo IList, contém um número variável de amostras. Cada amostra é representada por um índice para o vetor de um só quente. O número de amostras é a contagem de elementos na Lista I.
Parâmetro:
-
outputVariable
: A variável a que o Valor denota. O tamanho do vetor de um só calor 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 Valor para os tampão que representam uma sequência no formato escasso do CSC. O tampão de sequência será redimensionado se necessário. O Valor deve ter a mesma forma de tensor que a saída Variabilidade. No retorno, sequenceLength
é definido para o comprimento da sequência armazenada no Valor, e colStarts
contém rowIndices
nonZeroValues
os dados dos índices de arranque da coluna, índices de linha e valores não nulos, e numNonZeroValues
é definido para um número de valores não nus contidos no this
Valor.
Parâmetros:
-
outputVariable
: denota a forma e os eixos dinâmicos ao copiar dados deste Valor para os tampões. -
sequenceLength
: no retorno, é definido ao comprimento da sequência armazenada no Valor. -
colStarts
: no retorno, contém índices nononZeorValues
primeiro elemento não-zero de cada coluna da matriz. -
rowIndices
: no retorno, contém os índices de linha de cada elemento não-zero da matriz. -
nonZeroValues
: no retorno, contém valores de todos os elementos não nulos da matriz. -
numNonZeroValues
: no retorno, devolve o número de elementos não nulos da matriz.
Os seguintes métodos serão depreciados em breve. Utilize o GetDenseData e o GetOneHotData acima descritos.
public void CopyVariableValueTo<T>(Variable outputVariable, List<List<T>> sequences)
Copia os dados armazenados no Valor no tampão fornecido por sequences
. É sequences
uma lista de sequências com comprimento variável. O número de itens contidos na lista sequences
exterior é o número de sequências no Valor. Cada elemento da lista exterior representa uma sequência. Cada sequência, representada por List<T>
, contém um número variável de amostras. Cada amostra consiste num 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 osequences
. -
sequences
: o tampão de saída utilizado para armazenar os dados copiados do Valor.
public void CopyVariableValueTo(Variable outputVariable, List<List<uint>> sequences
Copia os dados armazenados no objeto Valor no tampão fornecido por sequences
. É sequences
uma lista de sequências com comprimento variável. O número de itens contidos na lista sequences
exterior é o número de sequências no Valor. Cada elemento da lista exterior representa uma sequência. Cada sequência, representada por List<uint>
, contém um número variável de amostras. Cada amostra é representada por um índice que aponta para o valor não zero no vetor de um só hot. O tamanho do vetor de uma única altura deve corresponder ao definido no outputVariable
.
Parâmetros:
-
outputVariable
: denota a forma e os eixos dinâmicos ao copiar dados do Valor para osequences
. -
sequences
: o tampão de saída utilizado para armazenar os dados copiados do Valor.
variável de classe
Denota uma entidade simbólica correspondente às entradas e saídas de a Function
.
As propriedades que Variable
são frequentemente utilizadas 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; }
A VariableKind da Variável.
public bool IsSparse { get; }
Um valor booleano que indica se a Variável denota dados escassos.
public bool IsInput { get; }
Um valor booleano que indica se a Variável é uma Entrada.
public bool IsOutput { get; }
Um valor booleano que indica se a Variável é uma Saída.
public bool IsParameter { get; }
Um valor booleano que indica se a Variável é um Parâmetro.
public bool IsConstant { get; }
Um valor booleano que indica se a Variável é uma Constante.
public bool IsPlaceholder { get; }
Um valor booleano que indica se a Variável é um Espaço reservado.
public IList<Axis> DynamicAxes { get; }
Devolve os eixos dinâmicos da Variável.
public Function Owner { get; }
Devolve a Função da qual a Variável é uma saída de. Devoluções null
quando a Variável não é de VariableKind Output.
Descritor de dispositivos de classe
Denota uma instância do dispositivo de computação.
A classe DeviceDescriptor
contém as seguintes propriedades e métodos:
public int Id { get; }
A identificação do dispositivo.
public DeviceKind Type { get; }
Dispositivo Tipo do dispositivo.
public static DeviceDescriptor CPUDevice { get; }
O Desíduor de Dispositivo que representa o dispositivo CPU no sistema local.
public static DeviceDescriptor GPUDevice(int deviceId)
Obtém o DispositivoDescriptor do dispositivo GPU no sistema local com o ID do dispositivo CUDA especificado.
Parâmetro:
-
deviceId
: o ID do dispositivo CUDA.
public static IList<DeviceDescriptor> AllDevices()
Obtém uma lista de descritores de todos os dispositivos disponíveis/suportados.
classe NDShape
Denota uma forma retangular multidimensional.
public NDShape()
Constrói uma NDShape com 0 eixos, que denota um escalão.
public NDShape(int numAxes, int dimension)
Constrói uma instância NDShape com o grau especificado 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 o posto especificado. 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; }
O posto 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; }
Devolve o tamanho da dimensão do eixo especificado.
public int IsUnknown { get; }
Um booleano indicando se a forma é a forma especial desconhecida.
public int HasInferredDimension { get; }
Um valor booleano 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 devolve uma nova forma construída através da anexação das dimensões da 'forma' especificada para moldar this
as dimensões da forma.
public NDShape SubShape(int beginAxisId, int endAxisId)
Cria e devolve uma nova instância NDShape com as mesmas dimensões que a gama de eixos this
especificado da forma [startAxisId, endAxisId).
public NDShape SubShape(int beginAxisId)
Cria e devolve um novo exemplo de NDShape com as mesmas dimensões que a gama de eixos this
da forma entre o eixo startAxisId (inclusivo) e o último eixo (inclusive).
classe NDArrayView
Denota uma matriz multidimensional de valores elementares ou de leitura. Este tipo denota uma vista e pode haver múltiplas visões simultâneas dos dados subjacentes a uma instância NDArrayView. Os dados subjacentes são armazenados em formato escasso ou denso, e estão localizados num 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 da criação do NDArrayView. -
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 que dispositivo deve ser criado o objeto NDArrayView. -
readOnly
: o objeto NDArrayView só é lido se esta bandeira fortrue
.
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 escasso no dispositivo especificado. Os dados escassos especificados devem sobreviver ao objeto NDArrayView criado.
Parâmetros:
-
viewShape
: a forma da criação do NDArrayView. -
colStarts
: a matriz contém índices para cada coluna nas matrizesrowIndices
enonZeroValues
. -
rowIndices
: a matriz que contém os índices de linha dos elementos correspondentes na matriznonZeroValues
. -
nonZeroValues
: a matriz que detém todos os valores não zero na matriz escassa. Os dados escassos especificados devem sobreviver ao objeto NDArrayView criado. -
device
: em que dispositivo deve ser criado o objeto NDArrayView. -
readOnly
: o objeto NDArrayView só é lido se esta bandeira fortrue
.
public DeviceDescriptor Device
O Desídutor de Dispositivo do dispositivo em que 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 booleano que indica se o NDArrayView contém dados em formato de armazenamento escasso.
public bool IsReadOnly`
A boolean value indicating whether the NDArrayView is read-only.
***
```cs
public NDArrayView DeepClone()
Cria um novo NDArrayView com armazenamento recentemente atribuído no mesmo dispositivo que this
visualizar e copia this
o conteúdo da vista na vista recém-atribuída.
public NDArrayView DeepClone(bool readOnly)
Cria um novo NDArrayView com armazenamento recentemente atribuído no mesmo dispositivo que this
visualizar e copia this
o conteúdo da vista na vista recém-atribuída.
Parâmetro:
-
readOnly
: o novo objeto NDArrayView só é lido se esta bandeira fortrue
.
public NDArrayView DeepClone(DeviceDescriptor device, bool readOnly)
Cria um novo NDArrayView com armazenamento recentemente atribuído no dispositivo especificado e copia this
o conteúdo da vista na vista recém-atribuída.
Parâmetros:
-
device
: em que dispositivo deve ser criado o novo objeto NDArrayView. -
readOnly
: o novo objeto NDArrayView só é lido se esta bandeira fortrue
.
public NDArrayView Alias(bool readOnly)
Cria um novo NDArrayView que é um pseudónimo; ou seja, uma nova visão da mesma forma this
que sobre os mesmos this
dados subjacentes.
Parâmetro:
-
readOnly
: o novo objeto NDArrayView só é lido se esta bandeira fortrue
.
public NDArrayView AsShape(NDShape newShape)
Cria um novo NDArrayView que é um pseudónimo de this
vista, mas com uma nova forma.
Parâmetro:
-
newShape
: a forma do novo objeto NDArrayView.
public void CopyFrom(NDArrayView source)
Copia o conteúdo da 'fonte' NDArrayView para this
visualizar. As formas da vista e this
da vista «fonte» devem ser idênticas.
Parâmetro:
-
source
: a origem NDArrayView cujo conteúdo é copiado parathis
visualização.
public void ChangeDevice(DeviceDescriptor device)
Altera o dispositivo do NDArrayView para o dispositivo especificado.
Parâmetro:
-
device
: o dispositivo alvo do objeto NDArrayView.
classe NDMask
Denota uma máscara multidimensional usada para especificar secções específicas de um objeto NDArrayView como mascarado/inválido. Este tipo denota uma vista e pode haver múltiplas visões simultâneas dos dados subjacentes a uma instância NDMask.
public NDMask(NDShape shape, DeviceDescriptor device)
Construa um novo objeto de máscara de forma especificada no dispositivo especificado.
Parâmetros:
-
shape
: a forma do objeto NDMask. -
device
: o dispositivo alvo do objeto MDMask.
public int MaskedCount { get; }
O número de valores mascarados/inválidos.
public int Device { get; }
O descritor do dispositivo em que a máscara reside
public int Shape { get; }
A forma da máscara.
public void InvalidateSection(IEnumerable<int> sectionOffset, NDShape sectionShape)
Mascare a subseção especificada como inválida.
Parâmetros:
-
sectionOffset
: Uma lista que especifique as posições iniciais da secção que deve ser mascarada como inválida. -
sectionShape
: A forma descreve a secção que deve ser mascarada como inválida.
public void MarkSequenceBegin(IEnumerable<int> offset)
Marque a posição especificada à medida que a sequência começa.
Parâmetro:
-
sectionOffset
: Uma lista especificando posições de partida na máscara que devem ser mascaradas à medida que a sequência começa.
public void MarkSequenceBegin(IEnumerable<int> offset, NDShape sectionShape)
Marque a sub-secção especificada no início da sequência.
Parâmetros:
-
offset
: Uma lista especificando as posições de início da secção que devem ser mascaradas à medida que a sequência começa. -
sectionShape
: A forma descreve a secção que deve ser mascarada à medida que a sequência começa.
public void Clear()
Limpe 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 recentemente atribuído no dispositivo especificado e copia this
o conteúdo da máscara na vista recém-atribuída.
Parâmetro:
-
device
: o dispositivo alvo do objeto MDMask.
public NDMask DeepClone()
Cria um novo NDMask com armazenamento recentemente atribuído no mesmo dispositivo que this
máscara e copia this
o conteúdo da máscara na máscara recém-atribuída.
public NDMask Alias()
Cria um novo NDMask que é um pseudónimo 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
: a origem NDMask cujo conteúdo é copiado para visualizaçãothis
.
Eixo de classe
Denota um Eixo de a Variable
. Para além dos eixos estáticos correspondentes a cada um dos eixos da forma da Variável, as variáveis do tipo 'Entrada' e quaisquer variáveis 'Output' dependentes de uma variável 'Entrada' também têm 2 eixos dinâmicos adicionais cujas dimensões só são conhecidas quando a Variável está ligada aos dados reais durante o cálculo (eixo de sequência viz.
As seguintes propriedades são definidas na classe Axis
public string Name { get; }
Nome do Eixo.
public bool IsStatic { get; }
Devolve um valor booleano que indica se o eixo corresponde a um eixo estático.
public bool IsDynamic { get; }
Devolve um valor booleano que indica se o Eixo corresponde a um eixo dinâmico.
Utils classe
public static void SetMaxNumCPUThreads(int numCPUThreads)
Define o número máximo de fios cpu para ser utilizado por qualquer operação de computação individual.
public static int GetMaxNumCPUThreads()
Devolve o número máximo de fios cpu para ser utilizado por qualquer operação de computação individual.
public static void SetTraceLevel(TraceLevel value)
Especifica o nível global de verbosidade de registo.
public static TraceLevel GetTraceLevel()
Devolve o nível de verbosidade do registo 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 simbólicas de dados ou dados reais.
enum DataType { Unknown, Float, Double };
enum DeviceKind
Denota o tipo de 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 };
parâmetro enumCloningMethod
Denota como os parâmetros são manuseados 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 os níveis de verbosidade de registo.
enum TraceLevel { Error, Warning, Info };