Compartir a través de


API de C# de CNTK Library

La API administrada de CNTK Library se implementa en C#, y C# y otros lenguajes .NET pueden consumirse. La página Uso de la API administrada de CNTK Library y Uso de CNTK con C# presenta cómo usar esta API en la aplicación. En las secciones siguientes se describen las clases y los métodos de la API de Eval administrada de CNTK Library.

clase CNTKLib

Esta es una clase estática que contiene muchas operaciones, inicialización y muchos métodos varios.


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

Cree una instancia del CNTK operación integrada de negación de elemento con el operando de entrada especificado. Parámetros:

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Operación sigmoide. Toma una variable de entrada y aplica la operación Sigmoid a ella.

Parámetros:

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

public static Function Tanh(Variable operand, string name)

Activación de Tanh. Toma una variable de entrada y aplica la operación tanh a ella.

Parámetros:

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación asin de elemento integrada con el operando de entrada especificado.

Parámetros:

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación integrada de seno sinuso en forma de elemento con el operando de entrada especificado. Parámetros:

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación acos integrada de elemento con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación de coseno integrada en el elemento con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación cosh integrada en el elemento con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación sinh integrada de elemento con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Activación lineal del rectificador. Toma una variable de entrada y aplica la operación de activación lineal del rectificador a ella.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación exp integrada de elementwise con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación de registro integrada de elementos con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia de la CNTK operación integrada de cuadrados en forma de elemento con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación integrada de raíz cuadrada cuadrada integrada con el operando de entrada especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia de la CNTK operación softmax integrada en el eje especificado en un operando de entrada tensor especificado Parámetros:

  • operand: variable de entrada de la operación. Puede ser la unidad organizativa de otra función.
  • axis: el eje para aplicar la operación softmax.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación hardmax integrada en el operando de entrada tensor especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia del CNTK operación de transposición integrada en el operando de entrada 1D o 2D especificado.

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Creación de una instancia de la operación de eliminación en el operando de entrada tensor especificado

  • operand: variables de entrada. Puede ser la unidad organizativa de otra función.
  • dropoutRate:
  • seed:
  • name: el nombre de la operación.

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

Creación de una instancia de la operación de reconfiguración en el operando de entrada tensor especificado


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

Cree una instancia de la CNTK operación de multiplicación de tensor integrada con los operandos de entrada especificados.


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

Cree una instancia de la CNTK operación de multiplicación de matriz integrada con la transposición del operando de entrada izquierdo y el operando derecho especificado. Solo acepta operandos izquierdos de rangos 1 o 2.


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

Operación de suma de tensor de elemento binario. Parámetros:

  • leftOperand: variable izquierda de la operación más. Puede ser la unidad organizativa de otra función.
  • rightOperand: variable izquierda de la operación más. Puede ser la unidad organizativa de otra función.
  • name: el nombre de la operación.

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

Cree una instancia de la CNTK operación de resta de tensor integrada en el elemento con los operandos de entrada especificados.


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

Cree una instancia del CNTK operación de tensor integrada de elementos que calcula el registro de la suma de los exponenciales de los operandos de entrada especificados.


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

Cree una instancia del CNTK operación de tensor integrada de elemento que calcula el leftOperand elevado a la potencia del operando derecho.


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

Cree una instancia de la CNTK operación de multiplicación integrada de elementos en los operandos de entrada tensor especificados.


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

Cree una instancia de la CNTK operación integrada de división en sentido de elemento en operandos de entrada tensor especificados.


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

Cree una instancia de la CNTK operación integrada para calcular la distancia coseno para los operandos de entrada especificados.


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

Cree una instancia de la CNTK operación integrada para calcular la distancia coseno con muestras negativas para los operandos de entrada especificados.


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

Cree una instancia de la CNTK operación integrada para calcular la entropía binaria cruzada para los operandos de entrada especificados.


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

Cree una instancia de la CNTK operación integrada para calcular la entropía binaria ponderada para los operandos de entrada especificados.


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

Cree una instancia de la CNTK operación integrada para calcular la entropía cruzada con softmax para los operandos de entrada especificados.


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

Cree una instancia de la CNTK operación integrada para calcular el error de predicción de clasificación de los operandos especificados.


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

Cree una instancia del CNTK operación integrada para obtener el valor pasado a lo largo del eje dinámico solitario del operando especificado.


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

Cree una instancia de la CNTK operación integrada para obtener el valor futuro a lo largo del eje dinámico solitario del 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 = "");

Convolución


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

Cree una instancia de la CNTK operación integrada de agrupación de ROI en los operandos de entrada tensor especificados con la forma de salida 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 = "");

Cree una instancia de la CNTK operación integrada de splice para combinar todos los operandos tensor especificados en un único tensor de salida.


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

Cree una nueva instancia de Function que simplemente combine las salidas de la lista especificada de funciones "operandos", de modo que las funciones "Outputs" de la nueva "Function" son uniones de las "Salidas" de cada una de las funciones "operandos" especificadas. Por ejemplo, al crear un modelo de clasificación, normalmente la función de pérdida crossEntropy y la función ClassificationError componen las dos raíces del gráfico de cálculo que se pueden "combinar" para crear una sola función con 2 salidas; Viz. Pérdida de crossEntropy y salida ClassificationError.


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

Cree una instancia del CNTK operación integrada de rectificador lineal filtrada de elemento con el operando de entrada especificado.

Class Learner

Class (Función)

Function Indica un cálculo simbólico con cero o más argumentos de entrada y una o varias salidas. Una función puede ser primitiva o compuesta (formada por otras instancias de Function cuyas entradas y salidas están conectadas). Una función es eficazmente un gráfico de cálculo compuesto por otras funciones primitivas (lo que indica el cálculo) como nodos y Variable objetos (que denotan datos) como bordes y hojas del gráfico.

La Function clase contiene las siguientes propiedades y métodos que son relevantes para la evaluación:


public string Name { get; }

Nombre de la función.


public IList<Variable> Arguments { get; }

Lista de todas las variables de entrada de la función que no son de tipo Parameter o Constant. Estas variables son entradas necesarias para calcular las salidas de la función.


public Variable Output { get; }

Variable de salida única de la función, si solo hay una. De lo contrario, se genera una excepción en tiempo de ejecución en el acceso.


public IList<Variable> Outputs { get; }

Lista de todas las variables de salida de la función.


public Function RootFunction { get; }

Devuelve la función primitiva en la raíz del grafo de Functions subyacente a la función. Si la propia función es una función primitiva, (this-RootFunction>() == this).


public string OpName { get; }

Nombre de la operación que indica la función.


public bool IsComposite { get; }

Valor booleano que indica si la función es una función compuesta.


public bool IsPrimitive { get; }

Valor booleano que indica si la función es una función primitiva.


public bool IsBlock { get; }

Valor booleano que indica si la función es un bloque Function.


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)

Evalúa la función mediante la entrada especificada. Calcula las salidas de la función en función de los valores proporcionados para cada variable de entrada especificada en el inputs diccionario. Las salidas se almacenan en los valores de salida correspondientes a las variables de salida del outputs diccionario.

Parámetros:

  • inputs: las variables de entrada y sus valores de function.
  • outputs: valores de salida para cada variable de salida. El autor de la llamada puede especificar el objeto Value para almacenar la salida o pasar null en cuyo caso el método asigna el almacenamiento para los resultados de salida. En ambos casos, al devolver el objeto Value contiene el resultado de la salida correspondiente de la función. Si se especificó un null valor y el parámetro createPersistentOutputValues no se especifica o se establece falseen , el objeto Value devuelto por el método es temporal y solo se garantiza que sea válido hasta la siguiente llamada hacia delante o hacia atrás. Si es necesario tener acceso más adelante, debe especificar createPersistentOutputValues en trueo explícitamente DeepClone el objeto Value temporal.
  • computeDevice: el dispositivo en el que se ejecuta el cálculo. Debe alinearse con el dispositivo en el que se carga el modelo.
  • createPersistentOutputValues: solo es relevante si se especificó un null valor en las salidas. Si se establece trueen , el método creará objetos Value persistentes; de lo contrario, los objetos Value son temporales y solo son válidos hasta la siguiente llamada hacia delante o hacia atrás.

public Function Clone(ParameterCloningMethod parameterCloneMethod = ParameterCloningMethod.Share)

Clones this (Función).

Parámetros:

  • parameterCloneMethod: especifica cómo se clonan los parámetros de Function: ParameterCloningMethod.Share : los parámetros se comparten entre la función que se clona y el nuevo clon. Este valor se debe usar si se usa la función clonada para la evaluación simultánea. ParameterCloningMethod.Clone - Se crean e inicializan nuevos parámetros aprendibles con los valores actuales de los parámetros correspondientes de la función que se va a clonar. ParameterCloningMethod.Freeze - Los parámetros se clonan y hacen inmutables; Es decir, constantes en el nuevo clon (por ejemplo, para su uso como extractor fijo de características). ParameterCloningMethod se define aquí.

public Function FindByName(string name, bool nestedSearchInsideBlockFunction)

Busca una función con el nombre especificado en el gráfico de funciones subyacente a la función. Si existe más de una función con el mismo nombre, se produce una excepción. Si nestedSearchInsideBlockFunction es true, busque también todas las funciones dentro de las funciones de bloque.

Parámetros:

  • name: nombre que se va a buscar.
  • nestedSearchInsideBlockFunction: si es true, también se examinan todas las funciones dentro de las funciones de bloque.

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

Busca una lista de funciones con el nombre especificado en el gráfico de funciones subyacente a la función. Si nestedSearchInsideBlockFunction es true, busque también todas las funciones dentro de las funciones de bloque.

Parámetros:

  • name: nombre que se va a buscar.
  • nestedSearchInsideBlockFunction: si es true, también se examinan todas las funciones dentro de las funciones de bloque.

public static Function Load(string modelFile, DeviceDescriptor computeDevice)

Carga una función desde un archivo de modelo.

Parámetros:

  • modelFile: la ruta de acceso al archivo de modelo.
  • computeDevice: el dispositivo en el que se carga la función.

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

Carga una función desde un búfer de memoria que representa un modelo.

Parámetros:

  • modelBuffer: la matriz de bytes contiene el contenido del modelo serializado.
  • computeDevice: el dispositivo en el que se carga la función.

public static Function Combine(IEnumerable<Variable> operands)

Crea una nueva instancia de Function que combina las salidas de la lista especificada de "operandos" de Functions. Las 'Salidas' de la nueva 'Función' son unión de las 'Salidas' de cada una de las funciones 'operandos' especificadas. Por ejemplo, al crear un modelo de clasificación, normalmente la función de pérdida crossEntropy y la función ClassificationError componen las raíces del gráfico de cálculo que puede ser "Combinar"d para crear una sola función con 2 salidas; Viz. Pérdida de crossEntropy y salida ClassificationError.

Parámetro:

  • operands: la lista de las funciones o variables que se deben incluir en las salidas de la nueva función.

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

Crea una función compuesta que tiene rootFunction especificado como raíz. El compuesto denota una función de nivel superior que encapsula todo el grafo de Functions subyacente a rootFunction especificado.

Parámetros:

  • rootFunction: la raíz de la función compuesta que se va a crear.
  • name: el nombre de la función compuesta que se va a crear.

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

Crea una nueva instancia de Function que es solo un alias del operando especificado.

Parámetros:

  • operand: función o variable para la que se crea la función de alias.
  • name: el nombre de la nueva función que se va a crear.

Valor de clase

Un Value es una matriz multidimensional con una máscara opcional y es los datos reales alimentados o generados a partir de un cálculo.


Los métodos siguientes crean un objeto Value mediante una entrada densa con la forma tensor especificada.


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

Crea un nuevo objeto Value que contiene un lote de muestras. El número de muestras del lote es el número de elementos divididos batch por el tamaño de shape (se produce un error en tiempo de ejecución si el resto no es cero). El objeto Value creado contiene una copia de los datos especificados en batch.

Parámetros:

  • sampleShape: la forma tensor del objeto Value.
  • batch: los datos que se incluirán en el objeto Value.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el objeto Value es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de ejemplos. El objeto Value creado contiene una copia de los datos especificados en sequence. La longitud de la secuencia es el número de elementos divididos sequence por el tamaño de shape (se produce un error en tiempo de ejecución si el resto no es cero). La secuencia creada es una nueva secuencia.

Parámetros:

  • sampleShape: la forma tensor del valor.
  • sequence: los datos que se incluirán en el valor.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de ejemplos. El objeto Value creado contiene una copia de los datos especificados sequence . SequenceStartFlag especifica si esta secuencia es una nueva secuencia o una continuación de una secuencia anterior de una llamada anterior a este método. La longitud de la secuencia es el número de elementos divididos sequence por el tamaño de shape (se produce un error en tiempo de ejecución si el resto no es cero).

Parámetros:

  • sampleShape: la forma tensor del valor.
  • sequence: los datos que se incluirán en el valor.
  • sequenceStartFlag: true indica que es una nueva secuencia. false significa una continuación de una secuencia anterior.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene un lote de secuencias de longitud variable. El objeto Value creado contiene una copia de los datos especificados en batchOfSequences. El número de secuencias del lote es el tamaño de batchOfSequences. La longitud de cada secuencia es el número de elementos de la secuencia correspondiente dividida batchOfSequences por el tamaño de shape (se produce un error en tiempo de ejecución si el resto no es cero). Cada secuencia de batchOfSequences es una nueva secuencia.

Parámetros:

  • sampleShape: la forma tensor del valor.
  • batchOfSequences: los datos que se van a almacenar en el valor. El exterior IEnumerable representa una colección de secuencias con longitud variable y el interior IEnumerable representa cada secuencia individual.
  • device: en qué dispositivo se debe crear el valor.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene un lote de secuencias de longitud variable. El objeto Value creado contiene una copia de los datos especificados en batchOfSequences. El número de secuencias del lote es el tamaño de batchOfSequences. La longitud de cada secuencia es el número de elementos de la secuencia correspondiente dividida batchOfSequences por el tamaño de shape (se produce un error en tiempo de ejecución si el resto no es cero).

Parámetros:

  • sampleShape: la forma tensor del valor.
  • batchOfSequences: los datos que se van a almacenar en el valor. El exterior IEnumerable representa una colección de secuencias con longitud variable y el interior IEnumerable representa cada secuencia individual.
  • sequenceStartFlags: colección de valores booleanos. Cada elemento representa si la secuencia correspondiente de batchOfSequences es una nueva secuencia (en caso de true) o una continuación de una secuencia anterior (en el caso de false).
  • device: en qué dispositivo se debe crear el valor.
  • readOnly: el valor es de solo lectura si esta marca es true.

Los métodos siguientes crean un objeto Value mediante una entrada de vector de un solo uso.


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

Crea un nuevo objeto Value que contiene un lote de muestras. Cada muestra se representa mediante un valor de índice que apunta al valor distinto de cero en el vector de un solo uso de dimension elementos. El número de muestras del lote es el número de elementos de batch.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el tamaño de la dimensión del vector de un solo uso.
  • batch: la colección de índices que representan el lote de muestras.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de ejemplos. Cada muestra se representa mediante un valor de índice que apunta al valor distinto de cero en el vector de un solo uso de dimension elementos. La longitud de la secuencia es el número de elementos de sequence. La secuencia creada es una nueva secuencia.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el tamaño de la dimensión del vector de un solo uso.
  • sequence: colección de índices que representan la secuencia de muestras.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de ejemplos. Cada muestra se representa mediante un valor de índice que apunta al valor distinto de cero en el vector de un solo uso de dimension elementos. SequenceStartFlag especifica si esta secuencia es una nueva secuencia o una continuación de una secuencia anterior de una llamada anterior a este método. La longitud de la secuencia es el número de elementos de sequence.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el tamaño de la dimensión del vector de un solo uso.
  • sequence: colección de índices que representan la secuencia de muestras.
  • sequenceStartFlag: true indica que es una nueva secuencia. false significa una continuación de una secuencia anterior.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene un lote de secuencias de longitud variable. Cada muestra se representa mediante un valor de índice que apunta al valor distinto de cero en el vector de un solo uso de dimension elementos. El número de secuencias es el número de elementos de la colección externa de batchOfSequences. La longitud de cada secuencia es el número de elementos de la secuencia correspondiente en la lista de colecciones de batchOfSequences. Cada secuencia de batchOfSequences es una nueva secuencia.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el tamaño de la dimensión del vector de un solo uso.
  • batchOfSequences: la colección de índices que representan secuencias de muestras. El exterior IEnumerable representa una colección de secuencias con longitud variable y el interior IEnumerable representa cada secuencia individual.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene un lote de secuencias de longitud variable. Cada muestra se representa mediante un valor de índice que apunta al valor distinto de cero en el vector de un solo uso de dimension elementos. El número de secuencias es el número de elementos de la colección externa de batchOfSequences. La longitud de cada secuencia es el número de elementos de la secuencia correspondiente en la colección interna de batchOfSequences.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el tamaño de la dimensión del vector de un solo uso.
  • batchOfSequences: la colección de índices que representan secuencias de muestras. El exterior IEnumerable representa una colección de secuencias con longitud variable y el interior IEnumerable representa cada secuencia individual.
  • sequenceStartFlags: colección de valores booleanos. Cada elemento representa si la secuencia correspondiente de batchOfSequences es una nueva secuencia (en caso de true) o una continuación de una secuencia anterior (en el caso de false).
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

Los métodos siguientes crean un objeto Value mediante la entrada dispersa.

Actualmente se admite el formato de columna dispersa comprimida (CSC). El formato CSC almacena la matriz en formato principal de columna y la matriz que contiene los índices de columna se comprime. Una matriz en formato CSC se representa mediante los parámetros siguientes:

  • nonZeroValues: la matriz de datos que contiene todos los valores distintos de cero de la matriz en formato principal de columna.
  • rowIndices: la matriz que contiene los índices de fila de los elementos correspondientes de la matriz nonZeroValues.
  • colStarts: matriz que contiene índices en las matrices rowIndices y nonZeroValues.

Puede encontrar una descripción detallada del formato CSC aquí.


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

Crea un nuevo objeto Value que contiene una secuencia de muestras mediante el formato de entrada disperso de CSC. La longitud de la secuencia es el número de filas de la matriz dispersa. La secuencia creada es una nueva secuencia.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • sampleShape: la forma tensor del valor. Para la entrada dispersa, la dimensionalidad inicial de la forma tensor debe ser la misma que el tamaño total de la forma tensor.
  • sequenceLength: la longitud de la secuencia, que también es el número de filas de la matriz dispersa.
  • colStarts: la matriz contiene índices para cada columna en las matrices rowIndices y nonZeroValues.
  • rowIndices: la matriz que contiene los índices de fila de los elementos correspondientes de la matriz nonZeroValues.
  • nonZeroValues: matriz que contiene todos los valores distintos de cero en la matriz dispersa.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de muestras mediante el formato de entrada disperso de CSC. La longitud de la secuencia es el número de filas de la matriz dispersa. SequenceStartFlag especifica si esta secuencia es una nueva secuencia o una continuación de una secuencia anterior de una llamada anterior a este método.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • sampleShape: la forma tensor del valor. Para la entrada dispersa, la dimensionalidad inicial de la forma tensor debe ser la misma que el tamaño total de la forma tensor.
  • sequenceLength: la longitud de la secuencia, que también es el número de filas de la matriz dispersa.
  • colStarts: la matriz contiene índices para cada columna en las matrices rowIndices y nonZeroValues.
  • rowIndices: la matriz que contiene los índices de fila de los elementos correspondientes de la matriz nonZeroValues.
  • nonZeroValues: matriz que contiene todos los valores distintos de cero en la matriz dispersa.
  • sequenceStartFlag: true indica que es una nueva secuencia. false significa una continuación de una secuencia anterior.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de muestras mediante el formato de entrada disperso de CSC. La longitud de la secuencia es el número de filas de la matriz dispersa. La secuencia creada es una nueva secuencia.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el número de columnas de la matriz dispersa.
  • sequenceLength: la longitud de la secuencia, que también es el número de filas de la matriz dispersa.
  • colStarts: la matriz contiene índices para cada columna en las matrices rowIndices y nonZeroValues.
  • rowIndices: la matriz que contiene los índices de fila de los elementos correspondientes de la matriz nonZeroValues.
  • nonZeroValues: matriz que contiene todos los valores distintos de cero en la matriz dispersa.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value que contiene una secuencia de muestras mediante el formato de entrada disperso de CSC. La longitud de la secuencia es el número de filas de la matriz dispersa. SequenceStartFlag especifica si esta secuencia es una nueva secuencia o una continuación de una secuencia anterior.

Parámetros:

  • T: tipo de datos del objeto Value creado. Actualmente, float y double se admiten.
  • dimension: el número de columnas de la matriz dispersa.
  • sequenceLength: la longitud de la secuencia, que también es el número de filas de la matriz dispersa.
  • colStarts: la matriz contiene índices para cada columna en las matrices rowIndices y nonZeroValues.
  • rowIndices: la matriz que contiene los índices de fila de los elementos correspondientes de la matriz nonZeroValues.
  • nonZeroValues: matriz que contiene todos los valores distintos de cero en la matriz dispersa.
  • sequenceStartFlag: true indica que es una nueva secuencia. false significa una continuación de una secuencia anterior.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

Los métodos siguientes crean un objeto Value a partir de NDArrayView.


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

Crea un nuevo objeto Value basado en una colección de NDArrayViews. Cada secuencia de sequences es una nueva secuencia.

Parámetros:

  • sampleShape: la forma tensor del valor que se va a crear.
  • sequences: una colección de secuencias representadas por NDArrayView. Cada NDArrayView representa una secuencia.
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

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

Crea un nuevo objeto Value basado en una colección de NDArrayViews. SequenceStartFlags especifica si una secuencia es una nueva secuencia o una continuación de una secuencia anterior.

Parámetros:

  • sampleShape: la forma tensor del valor que se va a crear.
  • sequences: una colección de secuencias representadas por NDArrayView. Cada NDArrayView representa una secuencia.
  • sequenceStartFlags: colección de valores booleanos. Cada elemento representa si la secuencia correspondiente de sequences es una nueva secuencia (en caso de true) o una continuación de una secuencia anterior (en el caso de false).
  • device: en qué dispositivo se debe crear el objeto Value.
  • readOnly: el valor es de solo lectura si esta marca es true.

Un objeto Value contiene las siguientes propiedades y métodos.


public Value(NDArrayView data)

Construye un valor multidimensional sin máscara.


public Value(NDArrayView data, NDMask mask)

Construye un valor multidimensional con una máscara asociada.


public DataType DataType { get; }

DataType de los datos contenidos en el objeto Value.


public DeviceDescriptor Device { get; }

Descriptor del dispositivo en el que reside value.


public NDShape Shape { get; }

Forma del valor.


public StroageFormat StorageFormat { get; }

Formato de almacenamiento del valor.


public bool IsSparse { get; }

Valor booleano que indica si el valor contiene datos en formato de almacenamiento disperso.


public bool IsReadOnly { get; }

Valor booleano que indica si el valor es de solo lectura.


public int maskedCount { get; }

Número de valores enmascarados o no válidos en value.


public void CopyFrom(Value Source)

Copia el contenido de source en el valor. Las formas de los datos y la máscara de los Sourcedatos deben ser idénticas a this los datos y la máscara de Value.

Parámetro:

  • Source: objeto de origen desde el que se copia el valor.

public Value DeepClone()

Crea un nuevo valor con almacenamiento recién asignado en el mismo dispositivo que this Value y copia this el contenido de Value en el valor recién asignado.


public Value DeepClone(bool readOnly)

Crea un nuevo valor con almacenamiento recién asignado en el mismo dispositivo que this Value y copia this el contenido de Value en el valor recién asignado.

Parámetro:

  • readOnly: el nuevo objeto Value es de solo lectura si esta marca es true.

public Value Alias(bool readOnly)

Crea un nuevo valor que es un alias de this Value. Parámetro:

  • readOnly: el nuevo objeto Value es de solo lectura si esta marca es true.

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

Obtiene los datos almacenados en el objeto Value como una lista de secuencias con longitud variable en formato denso. Este método devuelve un IList<IList>. Cada elemento de la lista externa representa una secuencia. Cada secuencia, representada por IList, contiene un número variable de muestras. Cada ejemplo consta de un número fijo de elementos con el tipo "T". El número de elementos viene determinado por la forma de outputVariable. El número de muestras es el recuento de elementos de IList divididos por el recuento de elementos del ejemplo.

Parámetro:

  • outputVariable: variable a la que el valor indica. La forma de la variable debe coincidir con la forma del valor.

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

Obtiene los datos almacenados en el objeto Value como una lista de secuencias con longitud variable en formato vectorial de un solo uso. Este método devuelve un IList<IList>. Cada elemento de la lista externa representa una secuencia. Cada secuencia, representada por IList, contiene un número variable de muestras. Cada muestra se representa mediante un índice en el vector uno activo. El número de muestras es el recuento de elementos en IList.

Parámetro:

  • outputVariable: variable a la que el valor indica. El tamaño del vector de un solo uso debe coincidir con el definido en la variable .

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 los datos almacenados en el objeto Value en los búferes que representan una secuencia en formato disperso de CSC. Si es necesario, se cambiará el tamaño del búfer de secuencia. El valor debe tener la misma forma tensor que outputVariable. Al devolver, sequenceLength se establece en la longitud de la secuencia almacenada en Value y colStarts, rowIndices y nonZeroValues contiene los datos de los índices de inicio de columna, los índices de fila y los valores distintos de cero, y numNonZeroValues se establece en el número de valores distintos de cero contenidos en this Value.

Parámetros:

  • outputVariable: indica la forma y los ejes dinámicos al copiar datos de este valor en los búferes.
  • sequenceLength: al devolver, se establece en la longitud de la secuencia almacenada en el valor.
  • colStarts: al devolver, contiene índices en el nonZeorValues del primer elemento distinto de cero de cada columna de la matriz.
  • rowIndices: al devolver, contiene los índices de fila de cada elemento distinto de cero de la matriz.
  • nonZeroValues: al devolver, contiene valores de todos los elementos distintos de cero de la matriz.
  • numNonZeroValues: al devolver, devuelve el número de elementos distintos de cero de la matriz.

Los métodos siguientes quedarán en desuso pronto. Use GetDenseData() y GetOneHotData() descrito anteriormente.


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

Copia los datos almacenados en el valor en el búfer proporcionado por sequences. sequences es una lista de secuencias con longitud variable. El número de elementos contenidos en la lista externa de sequences es el número de secuencias del valor. Cada elemento de la lista externa representa una secuencia. Cada secuencia, representada por List<T>, contiene un número variable de muestras. Cada ejemplo consta de un número fijo de elementos con el tipo de T. El número de elementos de una muestra viene determinado por la forma de outputVariable. La forma de la variable debe coincidir con la forma del valor.

Parámetros:

  • outputVariable: indica la forma y los ejes dinámicos al copiar datos del valor a sequences.
  • sequences: el búfer de salida utilizado para almacenar los datos copiados del valor.

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

Copia los datos almacenados en el objeto Value en el búfer proporcionado por sequences. sequences es una lista de secuencias con longitud variable. El número de elementos contenidos en la lista externa de sequences es el número de secuencias del valor. Cada elemento de la lista externa representa una secuencia. Cada secuencia, representada por List<uint>, contiene un número variable de muestras. Cada muestra se representa mediante un índice que apunta al valor distinto de cero en el vector de un solo uso. El tamaño de dimensión del vector de un solo uso debe coincidir con el definido en .outputVariable

Parámetros:

  • outputVariable: indica la forma y los ejes dinámicos al copiar datos del valor a sequences.
  • sequences: el búfer de salida utilizado para almacenar los datos copiados del valor.

Variable de clase

Denota una entidad simbólica correspondiente a las entradas y salidas de .Function

Las propiedades de Variable que a menudo se usan en la evaluación incluyen:


public string Name { get; }

Nombre de la variable.


public NDShape Shape { get; }

Forma de la variable.


public DataType DataTye { get; }

DataType(#enum-datatype) de los datos que representa la variable.


public VariableKind Kind { get; }

VariableKind de la variable.


public bool IsSparse { get; }

Valor booleano que indica si la variable denota datos dispersos.


public bool IsInput { get; }

Valor booleano que indica si la variable es una entrada.


public bool IsOutput { get; }

Valor booleano que indica si la variable es una salida.


public bool IsParameter { get; }

Valor booleano que indica si la variable es un parámetro.


public bool IsConstant { get; }

Valor booleano que indica si la variable es una constante.


public bool IsPlaceholder { get; }

Valor booleano que indica si la variable es un marcador de posición.


public IList<Axis> DynamicAxes { get; }

Devuelve los ejes dinámicos de la variable.


public Function Owner { get; }

Devuelve la función de la que la variable es una salida. Devuelve null cuando la variable no es de la salida variableKind.

Clase DeviceDescriptor

Indica una instancia de dispositivo de cálculo.

La clase DeviceDescriptor contiene las siguientes propiedades y métodos:


public int Id { get; }

Identificador del dispositivo.


public DeviceKind Type { get; }

DeviceKind del dispositivo.


public static DeviceDescriptor CPUDevice { get; }

DeviceDescriptor que representa el dispositivo de CPU en el sistema local.


public static DeviceDescriptor GPUDevice(int deviceId)

Obtiene el DeviceDescriptor del dispositivo gpu en el sistema local con el identificador de dispositivo CUDA especificado.

Parámetro:

  • deviceId: el identificador del dispositivo CUDA.

public static IList<DeviceDescriptor> AllDevices()

Obtiene una lista de descriptores de todos los dispositivos disponibles o compatibles.

clase NDShape

Denota una forma rectangular multidimensional.


public NDShape()

Construye un NDShape con 0 ejes, que denota un escalar.


public NDShape(int numAxes, int dimension)

Construye una instancia de NDShape con el rango y el tamaño de dimensión especificados. Cada eje tiene la misma dimensionalidad.

Parámetros:

  • numAxes: número de ejes de la forma.
  • dimension: tamaño de dimensión, aplicado a cada eje.

public NDShape(int numAxes)

Construye una instancia de NDShape con el rango especificado. La dimensionalidad de cada eje es NDShape.InferredDimension.

Parámetro:

  • numAxes: número de ejes de la forma.

public static NDShape CreateNDShape(IEnumerable<int> dimensions)

Crea una instancia de NDShape con dimensiones especificadas. Parámetro:

  • dimensions: tamaño de dimensión de cada eje.

public int Rank { get; }

Rango de NDShape.


public IList<int> Dimensions { get; }

Dimensiones de NDShape.


public int TotalSize { get; }

Tamaño total de la forma rectangular que indica la forma.


public int this[int key] { get; }

Devuelve el tamaño de dimensión del eje especificado.


public int IsUnknown { get; }

Un valor booleano que indica si la forma es la forma desconocida especial.


public int HasInferredDimension { get; }

Valor booleano que indica si el tamaño de dimensión de cualquiera de los ejes de la forma es desconocido o inferido (NDShape.InferredDimension).


public NDShape AppendShape(NDShape shape)

Crea y devuelve una nueva forma construida anexando las dimensiones de la "forma" especificada a this las dimensiones de la forma.


public NDShape SubShape(int beginAxisId, int endAxisId)

Crea y devuelve una nueva instancia de NDShape con las mismas dimensiones que this el intervalo de ejes especificado de la forma [beginAxisId, endAxisId).


public NDShape SubShape(int beginAxisId)

Crea y devuelve una nueva instancia de NDShape con las mismas dimensiones que this el intervalo de ejes de la forma entre el eje beginAxisId (inclusivo) y el último eje (inclusivo).

clase NDArrayView

Denota una matriz de escritura multidimensional o de solo lectura de valores elementales. Este tipo denota una vista y puede haber varias vistas simultáneas de los datos subyacentes a una instancia de NDArrayView. Los datos subyacentes se almacenan en formato disperso o denso y se encuentran en un 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)

Construye un NDArrayView con el "dataBuffer" especificado en formato denso como almacenamiento de respaldo en el dispositivo especificado.

Parámetros:

  • viewShape: forma de NDArrayView que se va a crear.
  • dataBuffer: los valores de datos contenidos en NDArrayView. El objeto 'dataBuffer' debe ser al menos tan grande como el tamaño total del 'viewShape' especificado y debe sobrevivir al objeto NDArrayView creado.
  • device: en qué dispositivo se debe crear el objeto NDArrayView.
  • readOnly: el objeto NDArrayView es de solo lectura si esta marca es 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)

Construye un NDArrayView con el almacenamiento especificado en formato CSC disperso en el dispositivo especificado. Los datos dispersos especificados deben sobrevivir al objeto NDArrayView creado.

Parámetros:

  • viewShape: forma de NDArrayView que se va a crear.
  • colStarts: la matriz contiene índices para cada columna en las matrices rowIndices y nonZeroValues.
  • rowIndices: matriz que contiene los índices de fila de los elementos correspondientes de la matriz nonZeroValues.
  • nonZeroValues: matriz que contiene todos los valores distintos de cero en la matriz dispersa. Los datos dispersos especificados deben sobrevivir al objeto NDArrayView creado.
  • device: en qué dispositivo se debe crear el objeto NDArrayView.
  • readOnly: el objeto NDArrayView es de solo lectura si esta marca es true.

public DeviceDescriptor Device

DeviceDescriptor del dispositivo en el que reside NDArrayView.


public NDShape Shape

Forma de NDArrayView.


public DataType DataType

DataType de los datos que almacena NDArrayView.


public StroageFormat StorageFormat

Formato de almacenamiento de NDArrayView.


public bool IsSparse

Valor booleano que indica si NDArrayView contiene datos en formato de almacenamiento disperso.


public bool IsReadOnly`

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

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

Crea una nueva vista NDArrayView con almacenamiento recién asignado en el mismo dispositivo que this la vista y copia this el contenido de la vista en la vista recién asignada.


public NDArrayView DeepClone(bool readOnly)

Crea una nueva vista NDArrayView con almacenamiento recién asignado en el mismo dispositivo que this la vista y copia this el contenido de la vista en la vista recién asignada.

Parámetro:

  • readOnly: el nuevo objeto NDArrayView es de solo lectura si esta marca es true.

public NDArrayView DeepClone(DeviceDescriptor device, bool readOnly)

Crea una nueva vista NDArrayView con almacenamiento recién asignado en el dispositivo especificado y copia this el contenido de la vista en la vista recién asignada.

Parámetros:

  • device: en qué dispositivo se debe crear el nuevo objeto NDArrayView.
  • readOnly: el nuevo objeto NDArrayView es de solo lectura si esta marca es true.

public NDArrayView Alias(bool readOnly)

Crea una nueva vista NDArrayView que es un alias de this vista; es decir, una nueva vista de la misma forma que this sobre los mismos datos subyacentes.

Parámetro:

  • readOnly: el nuevo objeto NDArrayView es de solo lectura si esta marca es true.

public NDArrayView AsShape(NDShape newShape)

Crea una nueva vista NDArrayView, que es un alias de this vista, pero con una nueva forma.

Parámetro:

  • newShape: forma del nuevo objeto NDArrayView.

public void CopyFrom(NDArrayView source)

Copia el contenido de NDArrayView de "origen" para this ver. Las formas de la vista "origen" y this la vista deben ser idénticas.

Parámetro:

  • source: el NDArrayView de origen cuyo contenido se copia en this la vista.

public void ChangeDevice(DeviceDescriptor device)

Cambia el dispositivo de NDArrayView al dispositivo especificado.

Parámetro:

  • device: el dispositivo de destino del objeto NDArrayView.

Clase NDMask

Indica una máscara multidimensional que se usa para especificar secciones específicas de un objeto NDArrayView como enmascarado o no válido. Este tipo denota una vista y puede haber varias vistas simultáneas de los datos subyacentes a una instancia de NDMask.


public NDMask(NDShape shape, DeviceDescriptor device)

Construya un nuevo objeto Mask de la forma especificada en el dispositivo especificado.

Parámetros:

  • shape: forma del objeto NDMask.
  • device: el dispositivo de destino del objeto MDMask.

public int MaskedCount { get; }

Número de valores enmascarados o no válidos.


public int Device { get; }

Descriptor del dispositivo en el que reside la máscara


public int Shape { get; }

Forma de la máscara.


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

Enmascara la subsección especificada como no válida.

Parámetros:

  • sectionOffset: una lista que especifica las posiciones iniciales de la sección que se deben enmascarar como no válidas.
  • sectionShape: la forma describe la sección que se debe enmascarar como no válida.

public void MarkSequenceBegin(IEnumerable<int> offset)

Marque la posición especificada como inicio de secuencia.

Parámetro:

  • sectionOffset: una lista que especifica las posiciones iniciales en la máscara que se deben enmascarar como inicio de secuencia.

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

Marque la subsección especificada como inicio de secuencia.

Parámetros:

  • offset: una lista que especifica las posiciones iniciales de la sección que se deben enmascarar como inicio de secuencia.
  • sectionShape: la forma describe la sección que se debe enmascarar como inicio de secuencia.

public void Clear()

Borre la máscara. Todos los valores actualmente enmascarados como no válidos se establecen en válidos.


public NDMask DeepClone(DeviceDescriptor device)

Crea un nuevo NDMask con almacenamiento recién asignado en el dispositivo especificado y copia this el contenido de la máscara en la vista recién asignada.

Parámetro:

  • device: el dispositivo de destino del objeto MDMask.

public NDMask DeepClone()

Crea un nuevo NDMask con almacenamiento recién asignado en el mismo dispositivo que this la máscara y copia this el contenido de la máscara en la máscara recién asignada.


public NDMask Alias()

Crea un nuevo NDMask, que es un alias de this máscara.


public void CopyFrom(NDMask source)

Copia el contenido de source NDMask en this máscara. Las formas de la source máscara y this la máscara deben ser idénticas.

Parámetro:

  • source: el NDMask de origen cuyo contenido se copia para this ver.

Eje de clases

Indica un eje de un Variableobjeto . Además de los ejes estáticos correspondientes a cada uno de los ejes de la forma de la variable, las variables de tipo "Input" y las variables "Output" dependientes de una variable "Input" también tienen dos ejes dinámicos adicionales cuyas dimensiones solo se conocen cuando la variable está enlazada a datos reales durante el proceso (viz. eje de secuencia y eje por lotes que indica el eje a lo largo del cual se procesan varias secuencias)

Las siguientes propiedades se definen en la clase . Axis


public string Name { get; }

Nombre del eje.


public bool IsStatic { get; }

Devuelve un valor booleano que indica si el eje corresponde a un eje estático.


public bool IsDynamic { get; }

Devuelve un valor booleano que indica si el eje corresponde a un eje dinámico.

clase Utils


public static void SetMaxNumCPUThreads(int numCPUThreads)

Establece el número máximo de subprocesos de CPU que usará cualquier operación de proceso individual.


public static int GetMaxNumCPUThreads()

Devuelve el número máximo de subprocesos de CPU que va a usar cualquier operación de proceso individual.


public static void SetTraceLevel(TraceLevel value)

Especifica el nivel de detalle del registro global.


public static TraceLevel GetTraceLevel()

Devuelve el nivel de detalle del registro actual.

enum VariableKind

Indica el tipo de un objeto simbólico Variable .

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

enumeración DataType

Indica el tipo de datos de entidades de datos simbólicas o datos reales.

enum DataType { Unknown, Float, Double };

enumeración DeviceKind

Indica el tipo de un dispositivo de cálculo.

enum DeviceKind { CPU, GPU };

enum StorageFormat

Indica el formato de almacenamiento subyacente a una instancia de NDArrayView.

enum StorageFormat { Dense, SparseCSC, SparseBlockCol };

enum ParameterCloningMethod

Indica cómo se controlan los parámetros al clonar una función.

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

Indica los niveles de detalle del registro.

enum TraceLevel { Error, Warning, Info };