C#-API för CNTK-bibliotek
Det hanterade API:et för CNTK-bibliotek implementeras i C# och kan användas av C# och andra .NET-språk. Sidan Using the CNTK Library Managed API and Using CNTK with C# (Använda CNTK Library Managed API och Using CNTK with C# (Använda CNTK med C#) visar hur du använder det här API:et i ditt program. I följande avsnitt beskrivs klasserna och metoderna för CNTK Library Managed Eval API.
klass CNTKLib
Det här är en statisk klass som innehåller många åtgärder, initiering och många olika metoder.
public static Function Negate(Variable operand, string name = "");
Skapa en instans av den CNTK inbyggda elementbaserade negatåtgärden med den angivna indataoperand. Parametrar:
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Sigmoid(Variable operand, string name = "")
Sigmoid-åtgärd. Den tar en indatavariabel och tillämpar Sigmoid-åtgärden på den.
Parametrar:
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Tanh(Variable operand, string name)
Tanh-aktivering. Den tar en indatavariabel och tillämpar Tanh-åtgärden på den.
Parametrar:
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Asin(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt asin-åtgärd med den angivna indataoperand.
Parametrar:
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Sin(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt sinusåtgärd med den angivna indataoperand. Parametrar:
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Acos(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda acos-åtgärden med angiven indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Cos(Variable operand, string name = "");
Skapa en instans av den CNTK inbyggda elementmässigt samtidiga åtgärden med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Cosh(Variable operand, string name = "");
Skapa en instans av den CNTK inbyggda elementbaserade samarbetsåtgärden med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Sinh(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt sinh-åtgärd med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function ReLU(Variable operand, string name = "")
Linjär aktivering av likriktare. Den tar en indatavariabel och tillämpar linjär aktiveringsåtgärd för likriktare på den.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Exp(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt exp-åtgärd med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Log(Variable operand, string name = "");
Skapa en instans av den CNTK inbyggda elementbaserade loggåtgärden med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Square(Variable operand, string name = "");
Skapa en instans av den CNTK inbyggda elementmässigt kvadratiska åtgärden med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Sqrt(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt kvadratrotsåtgärd med den angivna indataoperand.
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Softmax(Variable operand, Axis axis, string name = "")
Skapa en instans av den CNTK inbyggda softmax-åtgärden på den angivna axeln på en angiven tensor-indataoperandparametrar:
-
operand
: Indatavariabeln för åtgärden. Det kan vara ouput för en annan funktion. -
axis
: Axeln som ska använda softmax-åtgärden -
name
: namnet på åtgärden.
public static Function Hardmax(Variable operand, string name = "");
Skapa en instans av den CNTK inbyggda hårdmaxåtgärden på angiven tensor-indataoperand
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Transpose(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda transponeringsåtgärden på angiven 1D- eller 2D-indataoperand
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Dropout(Variable operand, dropoutRate, uint seed, string name = "");
Skapa en instans av listruteåtgärden på angiven tensor-indataoperand
-
operand
: Indatavariablerna. Det kan vara ouput för en annan funktion. -
dropoutRate
: -
seed
: -
name
: namnet på åtgärden.
public static Function Reshape(Variable operand, NDShape replacementShape, Axis beginAxis, Axis endAxis, string name = "");
Skapa en instans av omformningsåtgärden på angiven tensor-indataoperand
public static Function Times(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av den CNTK inbyggda tensor-multiplikationsåtgärden med angivna indataoperands.
public static Function TransposeTimes(Variable leftOperand, Variable rightOperand, uint outputRank, string name = "");
Skapa en instans av den CNTK inbyggda matris multiplikationsåtgärden med transponering av den vänstra indataoperand och den angivna högra operanden. Accepterar endast vänsteroperor i rang 1 eller 2.
public static Function Plus(Variable leftOperand, Variable rightOperand, string name = "")
En binär elementvis tensortilläggsåtgärd. Parametrar:
-
leftOperand
: Den vänstra variabeln för plusåtgärden. Det kan vara ouput för en annan funktion. -
rightOperand
: Den vänstra variabeln för plusåtgärden. Det kan vara ouput för en annan funktion. -
name
: namnet på åtgärden.
public static Function Minus(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt tensor-subtraktion med de angivna indataoperanderna.
public static Function LogAddExp(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av den CNTK inbyggda elementbaserade tensoråtgärden som beräknar loggen för summan av exponentiella för de angivna indataoperanderna.
public static Function Pow(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt tensoråtgärd som beräknar leftOperand upphöjt till kraften i den högra operanden.
public static Function ElementTimes(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av den CNTK inbyggda elementbaserade multiplikationsåtgärden på angivna tensor-indataoperands.
public static Function ElementDivide(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av den CNTK inbyggda elementbaserade divisionsåtgärden på angivna tensor-indataoperands.
public static Function CosineDistance(Variable leftOperand, Variable rightOperand, string name = "");
Skapa en instans av CNTK inbyggda åtgärden för att beräkna cosinstansavståndet för de angivna indataoperanderna.
public static Function CosineDistanceWithNegativeSamples(Variable leftOperand, Variable rightOperand, uint shiftWindow, uint numberOfNegativeSamples, string name = "");
Skapa en instans av den CNTK inbyggda åtgärden för att beräkna cosinstansavståndet med negativa exempel för de angivna indataopernderna.
public static Function BinaryCrossEntropy(Variable prediction, Variable targets, string name = "");
Skapa en instans av CNTK inbyggda åtgärden för att beräkna binär korsentropy för angivna indataoperands.
public static Function WeightedBinaryCrossEntropy(Variable prediction, Variable targets, Variable weights, string name = "");
Skapa en instans av CNTK inbyggda åtgärden för att beräkna viktade binära korsentropin för angivna indataoperands.
public static Function CrossEntropyWithSoftmax(Variable prediction, Variable labels, Axis axis, string name = "");
Skapa en instans av den CNTK inbyggda åtgärden för att beräkna korsentropin med softmax för angivna indataoperands.
public static Function ClassificationError(Variable prediction, Variable labels, uint topN, Axis axis, string name = "");
Skapa en instans av CNTK inbyggda åtgärden för att beräkna klassificeringsförutsägelsefelet för angivna operander.
public static Function PastValue(Variable operand, Variable initialState, uint offset = 1, string name = "");
Skapa en instans av den CNTK inbyggda åtgärden för att hämta det tidigare värdet längs den enda dynamiska axeln för den angivna operanden.
public static Function FutureValue(Variable operand, Variable initialState, uint offset = 1, string name = "");
Skapa en instans av CNTK inbyggda åtgärden för att hämta det framtida värdet längs den angivna operandens ensamma dynamiska axel.
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 = "");
Faltning
public static Function ROIPooling(Variable operand,
Variable rois,
PoolingType poolingType,
NDShape roiOutputShape,
double spatialScale,
string name= "");
Skapa en instans av den CNTK inbyggda ROI-poolåtgärden på angivna tensorindataoperands med den angivna utdataformen
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 = "");
Skapa en instans av den CNTK inbyggda skarvåtgärden för att skarva samman alla angivna tensoroperatorer till en enda utdatatakt
public static Function Combine(VariableVector operands, string name = "");
Skapa en ny funktionsinstans som bara kombinerar utdata från den angivna listan med operanders-funktioner så att "Utdata" för den nya funktionen är en union av utdata för var och en av de angivna operanderna. T.ex. När du skapar en klassificeringsmodell utgörs vanligtvis Funktionen för crossEntropy-förlust och Funktionen ClassificationError av de två rötterna i beräkningsdiagrammet som kan "kombineras" för att skapa en enda funktion med 2 utdata. Viz. CrossEntropy-förlust och ClassificationError-utdata.
public static Function LeakyReLU(Variable operand, string name = "");
Skapa en instans av CNTK inbyggda elementmässigt läckande linjär likriktaråtgärd med angiven indataoperand.
class Learner
class Function
En Function
anger en symbolisk beräkning med noll eller flera indataargument och en eller flera utdata. En funktion kan vara primitiv eller sammansatt (bestående av andra funktionsinstanser vars indata och utdata kopplas ihop). En funktion är effektivt ett beräkningsdiagram som består av andra primitiva funktioner (som betecknar beräkning) som noder och Variable
objekt (som betecknar data) som grafens kanter och blad.
Klassen Function
innehåller följande egenskaper och metoder som är relevanta för utvärdering:
public string Name { get; }
Namnet på funktionen.
public IList<Variable> Arguments { get; }
Lista över alla indatavariabler för funktionen som inte är av typen Parameter eller Konstant. Dessa variabler är obligatoriska indata för att beräkna utdata för funktionen.
public Variable Output { get; }
Den enskilda utdatavariabeln för funktionen, om det bara finns en. Annars aktiveras ett körningsund undantag vid åtkomst.
public IList<Variable> Outputs { get; }
Lista över alla utdatavariabler för funktionen.
public Function RootFunction { get; }
Returnerar den primitiva funktionen i roten av grafen med funktioner som ligger till grund för funktionen. Om själva funktionen är en primitiv funktion (this-RootFunction>() == this).
public string OpName { get; }
Namnet på den åtgärd som funktionen anger.
public bool IsComposite { get; }
Ett booleskt värde som anger om funktionen är en sammansatt funktion.
public bool IsPrimitive { get; }
Ett booleskt värde som anger om funktionen är en primitiv funktion.
public bool IsBlock { get; }
Ett booleskt värde som anger om funktionen är en blockfunktion.
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)
Utvärderar funktionen med de angivna indata. Den beräknar utdata från funktionen baserat på de värden som anges för varje indatavariabel som anges i inputs
ordlistan. Utdata lagras i de utdatavärden som motsvarar utdatavariablerna i outputs
ordlistan.
Parametrar:
-
inputs
: indatavariablerna och deras värden för funktionen. -
outputs
: utdatavärden för varje utdatavariabel. Anroparen kan ange value-objektet för att lagra utdata eller skickanull
i vilket fall metoden allokerar lagringen för utdataresultatet. I båda fallen innehåller value-objektet vid retur resultatet av motsvarande utdata för funktionen. Om ettnull
värde har angetts och parameterncreatePersistentOutputValues
inte har angetts eller har angetts tillfalse
är värdeobjektet som returneras av metoden tillfälligt och garanterat endast är giltigt fram till nästa framåt-/bakåtanrop. Om du behöver komma åt det senare bör du angecreatePersistentOutputValues
tilltrue
, eller uttryckligenDeepClone
det tillfälliga Value-objektet. -
computeDevice
: den enhet där beräkningen körs. Den bör justeras efter den enhet där modellen läses in. -
createPersistentOutputValues
: Endast relevant om ettnull
värde har angetts i utdata. Om den är inställd påtrue
skapar metoden beständiga Värde-objekt, annars är Value-objekten tillfälliga och är bara giltiga fram till nästa anrop framåt/bakåt.
public Function Clone(ParameterCloningMethod parameterCloneMethod = ParameterCloningMethod.Share)
Clones this
Function.
Parametrar:
-
parameterCloneMethod
: anger hur parametrarna för Funktionen klonas:ParameterCloningMethod.Share
– Parametrar delas mellan funktionen som klonas och den nya klonen. Det här värdet ska användas om den klonade funktionen används för samtidig utvärdering.ParameterCloningMethod.Clone
– Nya inlärbara parametrar skapas och initieras med de aktuella värdena för motsvarande parametrar för funktionen som klonas.ParameterCloningMethod.Freeze
- Parametrar klonas och görs oföränderliga. t.ex. konstanter i den nya klonen (t.ex. för användning som en fast funktionsextraktor). ParameterCloningMethod definieras här.
public Function FindByName(string name, bool nestedSearchInsideBlockFunction)
Söker efter en funktion med det angivna namnet i funktionsgrafen som ligger bakom funktionen. Om det finns fler än en funktion med samma namn genereras ett undantag. Om nestedSearchInsideBlockFunction är sant söker du även igenom alla funktioner i blockfunktioner.
Parametrar:
-
name
: namnet som ska sökas efter. -
nestedSearchInsideBlockFunction
: Om det är sant undersöks även alla funktioner i blockfunktioner.
public IList<Function> FindAllWithName(string name, bool nestedSearchInsideBlockFunction = false)
Söker efter en lista över funktioner med det angivna namnet i funktionsdiagrammet som ligger till grund för funktionen. Om nestedSearchInsideBlockFunction är sant söker du även igenom alla funktioner i blockfunktioner.
Parametrar:
-
name
: namnet som ska sökas efter. -
nestedSearchInsideBlockFunction
: Om det är sant undersöks även alla funktioner i blockfunktioner.
public static Function Load(string modelFile, DeviceDescriptor computeDevice)
Läser in en funktion från en modellfil.
Parametrar:
-
modelFile
: sökvägen till modellfilen. -
computeDevice
: den enhet där funktionen läses in.
public static Function Load(byte[] modelBuffer, DeviceDescriptor computeDevice)
Läser in en funktion från en minnesbuffert som representerar en modell.
Parametrar:
-
modelBuffer
: bytematrisen innehåller det serialiserade modellinnehållet. -
computeDevice
: den enhet där funktionen läses in.
public static Function Combine(IEnumerable<Variable> operands)
Skapar en ny funktionsinstans som kombinerar utdata från den angivna listan över operander i Functions. "Utdata" för den nya funktionen är en union av utdata för var och en av de angivna operanderna. När du till exempel skapar en klassificeringsmodell utgör funktionen CrossEntropy loss och ClassificationError Function rötterna i beräkningsdiagrammet som kan vara "Kombinera"d för att skapa en enda funktion med 2 utdata. Viz. CrossEntropy-förlust och ClassificationError-utdata.
Parameter:
-
operands
: listan över de funktioner eller variabler som ska ingå i utdata för den nya funktionen.
public static Function AsComposite(Function rootFunction, string name = "")
Skapar en sammansatt funktion som har angiven rootFunction som rot. Den sammansatta anger en funktion på högre nivå som kapslar in hela diagrammet med funktioner som ligger bakom den angivna rootFunction.
Parametrar:
-
rootFunction
: roten för den sammansatta funktion som ska skapas. -
name
: namnet på den sammansatta funktion som ska skapas.
public static Function Alias(Variable operand, string name = "")
Skapar en ny funktionsinstans som bara är ett alias för den angivna operanden.
Parametrar:
-
operand
: den funktion eller variabel som aliasfunktionen skapas för. -
name
: namnet på den nya funktionen som ska skapas.
klassvärde
En Value
är en flerdimensionell matris med en valfri mask och är de faktiska data som matas in i eller produceras från en beräkning.
Följande metoder skapar ett Värde-objekt med täta indata med den angivna tensorformen.
public static Value CreateBatch<T>(NDShape sampleShape, IEnumerable<T> batch, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en batch med exempel. Antalet exempel i batchen är antalet element dividerat batch
med storleken shape
på (ett körningsfel inträffar om resten inte är noll). Det skapade Value-objektet innehåller en kopia av angivna data i batch
.
Parametrar:
-
sampleShape
: tensorformen för värdeobjektet. -
batch
: de data som ska finnas i value-objektet. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdeobjektet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(NDShape sampleShape, IEnumerable<T> sequence, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel. Det skapade värdeobjektet innehåller en kopia av angivna data i sequence
. Sekvensens längd är antalet element i sequence
dividerat med storleken på shape
(Ett körningsfel inträffar om resten inte är noll). Den skapade sekvensen är en ny sekvens.
Parametrar:
-
sampleShape
: tensorformen för värdet. -
sequence
: de data som ska finnas i värdet. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(NDShape sampleShape, IEnumerable<T> sequence, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel. Det skapade värdeobjektet innehåller en kopia av angivna sequence
data. SekvensenStartFlag anger om den här sekvensen är en ny sekvens eller en fortsättning på en tidigare sekvens från ett tidigare anrop till den här metoden. Sekvensens längd är antalet element i sequence
dividerat med storleken på shape
(Ett körningsfel inträffar om resten inte är noll).
Parametrar:
-
sampleShape
: tensorformen för värdet. -
sequence
: de data som ska finnas i värdet. -
sequenceStartFlag
:true
anger att det är en ny sekvens.false
innebär en fortsättning på en tidigare sekvens. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateBatchOfSequences<T>(NDShape sampleShape, IEnumerable<IEnumerable<T>> batchOfSequences, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en batch med variabellängdssekvenser. Det skapade värdeobjektet innehåller en kopia av angivna data i batchOfSequences
. Antalet sekvenser i batchen är storleken batchOfSequences
på . Längden på varje sekvens är antalet element i motsvarande sekvens batchOfSequences
dividerat med storleken på shape
(Ett körningsfel inträffar om resten inte är noll). Varje sekvens i batchOfSequences
är en ny sekvens.
Parametrar:
-
sampleShape
: tensorformen för värdet. -
batchOfSequences
: de data som ska lagras i värdet. Det yttreIEnumerable
representerar en samling sekvenser med variabel längd och det inreIEnumerable
representerar varje enskild sekvens. -
device
: på vilken enhet värdet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateBatchOfSequences<T>(NDShape sampleShape, IEnumerable<IEnumerable<T>> batchOfSequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en batch med variabellängdssekvenser. Det skapade värdeobjektet innehåller en kopia av angivna data i batchOfSequences
. Antalet sekvenser i batchen är storleken batchOfSequences
på . Längden på varje sekvens är antalet element i motsvarande sekvens batchOfSequences
dividerat med storleken på shape
(Ett körningsfel inträffar om resten inte är noll).
Parametrar:
-
sampleShape
: tensorformen för värdet. -
batchOfSequences
: de data som ska lagras i värdet. Det yttreIEnumerable
representerar en samling sekvenser med variabel längd och det inreIEnumerable
representerar varje enskild sekvens. -
sequenceStartFlags
: En samling booleska värden. Varje element representerar om motsvarande sekvens ibatchOfSequences
är en ny sekvens (i händelse avtrue
) eller en fortsättning på en tidigare sekvens (i händelse avfalse
). -
device
: på vilken enhet värdet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
Följande metoder skapar ett Värde-objekt med en frekvent vektorinmatning.
public static Value CreateBatch<T>(int dimension, IEnumerable<int> batch, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en batch med exempel. Varje exempel representeras av ett indexvärde som pekar på värdet som inte är noll i elementens enhetsvektor dimension
. Antalet exempel i batchen är antalet element i batch
.
Parametrar:
-
T
: datatyp för det skapade värdeobjektet.float
För närvarande ochdouble
stöds. -
dimension
: storleken på dimensionen för en frekvent vektor. -
batch
: en samling index som representerar batchen med exempel. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(int dimension, IEnumerable<int> sequence, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel. Varje exempel representeras av ett indexvärde som pekar på värdet som inte är noll i elementens enhetsvektor dimension
. Sekvenslängden är antalet element i sequence
. Den skapade sekvensen är en ny sekvens.
Parametrar:
-
T
: datatyp för det skapade värdeobjektet.float
För närvarande ochdouble
stöds. -
dimension
: storleken på dimensionen för en frekvent vektor. -
sequence
: en samling index som representerar sekvensen med exempel. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(int dimension, IEnumerable<int> sequence, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel. Varje exempel representeras av ett indexvärde som pekar på värdet som inte är noll i elementens enhetsvektor dimension
. SekvensenStartFlag anger om den här sekvensen är en ny sekvens eller en fortsättning på en tidigare sekvens från ett tidigare anrop till den här metoden. Sekvenslängden är antalet element i sequence
.
Parametrar:
-
T
: datatyp för det skapade värdeobjektet.float
För närvarande ochdouble
stöds. -
dimension
: storleken på dimensionen för en frekvent vektor. -
sequence
: en samling index som representerar sekvensen med exempel. -
sequenceStartFlag
:true
anger att det är en ny sekvens.false
innebär en fortsättning på en tidigare sekvens. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateBatchOfSequences<T>(int dimension, IEnumerable<IEnumerable<int>> batchOfSequences, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en batch med variabellängdssekvenser. Varje exempel representeras av ett indexvärde som pekar på värdet som inte är noll i elementens enhetsvektor dimension
. Antalet sekvenser är antalet element i den yttre samlingen av batchOfSequences
. Längden på varje sekvens är antalet element i motsvarande sekvens i samlingslistan för batchOfSequences
. Varje sekvens i batchOfSequences
är en ny sekvens.
Parametrar:
-
T
: datatyp för det skapade värdeobjektet.float
För närvarande ochdouble
stöds. -
dimension
: storleken på dimensionen för en frekvent vektor. -
batchOfSequences
: en samling index som representerar sekvenser av exempel. Det yttreIEnumerable
representerar en samling sekvenser med variabel längd och det inreIEnumerable
representerar varje enskild sekvens. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateBatchOfSequences<T>(int dimension, IEnumerable<IEnumerable<int>> batchOfSequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en batch med variabellängdssekvenser. Varje exempel representeras av ett indexvärde som pekar på värdet som inte är noll i elementens enhetsvektor dimension
. Antalet sekvenser är antalet element i den yttre samlingen av batchOfSequences
. Längden på varje sekvens är antalet element i motsvarande sekvens i den inre samlingen av batchOfSequences
.
Parametrar:
-
T
: datatyp för det skapade värdeobjektet.float
För närvarande stöds ochdouble
. -
dimension
: storleken på dimensionen för one-hot-vektorn. -
batchOfSequences
: den samling index som representerar sekvenser av exempel. Det yttreIEnumerable
representerar en samling sekvenser med variabel längd och det inreIEnumerable
representerar varje enskild sekvens. -
sequenceStartFlags
: En samling booleska värden. Varje element representerar om motsvarande sekvens ibatchOfSequences
är en ny sekvens (i fall avtrue
) eller en fortsättning på en tidigare sekvens (i fall avfalse
). -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
Följande metoder skapar ett Värde-objekt med hjälp av glesa indata.
För närvarande stöds CSC (Compressed Sparse Column Format). CSC-formatet lagrar matrisen i kolumnmajorformat och matrisen som innehåller kolumnindexen komprimeras. En matris i CSC-format representeras av följande parametrar:
-
nonZeroValues
: datamatrisen som innehåller alla värden som inte är noll för matrisen i kolumnmajorformat. -
rowIndices
: matrisen som innehåller radindexen för motsvarande element i matrisennonZeroValues
. -
colStarts
: matrisen som innehåller index i matrisernarowIndices
ochnonZeroValues
.
En detaljerad beskrivning av CSC-formatet finns här.
public static Value CreateSequence<T>(NDShape sampleShape, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel med CSC sparse-indataformat. Sekvenslängden är antalet rader i den glesa matrisen. Den skapade sekvensen är en ny sekvens.
Parametrar:
-
T
: datatypen för det skapade värdeobjektet.float
För närvarande stöds ochdouble
. -
sampleShape
: tensorformen för värdet. För glesa indata måste tensorformens inledande dimension vara samma som den totala storleken på tensorformen. -
sequenceLength
: sekvenslängden, som också är antalet rader i den glesa matrisen. -
colStarts
: matrisen innehåller index för varje kolumn i matrisernarowIndices
ochnonZeroValues
. -
rowIndices
: matrisen som innehåller radindexen för motsvarande element i matrisennonZeroValues
. -
nonZeroValues
: matrisen som innehåller alla icke-nollvärden i den glesa matrisen. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(NDShape sampleShape, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel med CSC sparse-indataformat. Sekvenslängden är antalet rader i den glesa matrisen. SequenceStartFlag anger om den här sekvensen är en ny sekvens eller en fortsättning på en tidigare sekvens från ett tidigare anrop till den här metoden.
Parametrar:
-
T
: datatypen för det skapade värdeobjektet.float
För närvarande stöds ochdouble
. -
sampleShape
: tensorformen för värdet. För glesa indata måste tensorformens inledande dimension vara samma som den totala storleken på tensorformen. -
sequenceLength
: sekvenslängden, som också är antalet rader i den glesa matrisen. -
colStarts
: matrisen innehåller index för varje kolumn i matrisernarowIndices
ochnonZeroValues
. -
rowIndices
: matrisen som innehåller radindexen för motsvarande element i matrisennonZeroValues
. -
nonZeroValues
: matrisen som innehåller alla icke-nollvärden i den glesa matrisen. -
sequenceStartFlag
:true
anger att det är en ny sekvens.false
innebär en fortsättning av en tidigare sekvens. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(int dimension, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel med CSC sparse-indataformat. Sekvenslängden är antalet rader i den glesa matrisen. Den skapade sekvensen är en ny sekvens.
Parametrar:
-
T
: datatypen för det skapade värdeobjektet.float
För närvarande stöds ochdouble
. -
dimension
: antalet kolumner i den glesa matrisen. -
sequenceLength
: sekvenslängden, som också är antalet rader i den glesa matrisen. -
colStarts
: matrisen innehåller index för varje kolumn i matrisernarowIndices
ochnonZeroValues
. -
rowIndices
: matrisen som innehåller radindexen för motsvarande element i matrisennonZeroValues
. -
nonZeroValues
: matrisen som innehåller alla icke-nollvärden i den glesa matrisen. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value CreateSequence<T>(int dimension, int sequenceLength, int[] colStarts, int[] rowIndices, T[] nonZeroValues, bool sequenceStartFlag, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt Värde-objekt som innehåller en sekvens med exempel med CSC sparse-indataformat. Sekvenslängden är antalet rader i den glesa matrisen. SequenceStartFlag anger om den här sekvensen är en ny sekvens eller en fortsättning på en tidigare sekvens.
Parametrar:
-
T
: datatypen för det skapade värdeobjektet.float
För närvarande stöds ochdouble
. -
dimension
: antalet kolumner i den glesa matrisen. -
sequenceLength
: sekvenslängden, som också är antalet rader i den glesa matrisen. -
colStarts
: matrisen innehåller index för varje kolumn i matrisernarowIndices
ochnonZeroValues
. -
rowIndices
: matrisen som innehåller radindexen för motsvarande element i matrisennonZeroValues
. -
nonZeroValues
: matrisen som innehåller alla icke-nollvärden i den glesa matrisen. -
sequenceStartFlag
:true
anger att det är en ny sekvens.false
innebär en fortsättning av en tidigare sekvens. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
Följande metoder skapar ett Värde-objekt från NDArrayView.
public static Value Create(NDShape sampleShape, IEnumerable<NDArrayView> sequences, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt värdeobjekt baserat på en samling NDArrayViews. Varje sekvens i sequences
är en ny sekvens.
Parametrar:
-
sampleShape
: tensorformen för värdet som skapas. -
sequences
: en samling sekvenser som representeras av NDArrayView. Varje NDArrayView representerar en sekvens. -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
public static Value Create(NDShape sampleShape, IEnumerable<NDArrayView> sequences, IEnumerable<bool> sequenceStartFlags, DeviceDescriptor device, bool readOnly = false)
Skapar ett nytt värdeobjekt baserat på en samling NDArrayViews. SequenceStartFlags anger om en sekvens är en ny sekvens eller en fortsättning på en tidigare sekvens.
Parametrar:
-
sampleShape
: tensorformen för värdet som skapas. -
sequences
: en samling sekvenser som representeras av NDArrayView. Varje NDArrayView representerar en sekvens. -
sequenceStartFlags
: En samling booleska värden. Varje element representerar om motsvarande sekvens isequences
är en ny sekvens (i fall avtrue
) eller en fortsättning på en tidigare sekvens (i fall avfalse
). -
device
: på vilken enhet value-objektet ska skapas. -
readOnly
: Värdet är skrivskyddat om den här flaggan ärtrue
.
Ett Värde-objekt innehåller följande egenskaper och metoder.
public Value(NDArrayView data)
Konstruerar ett flerdimensionellt värde utan mask.
public Value(NDArrayView data, NDMask mask)
Konstruerar ett flerdimensionellt värde med en associerad mask.
public DataType DataType { get; }
DataTyp för de data som finns i value-objektet.
public DeviceDescriptor Device { get; }
Beskrivningen av enheten som värdet finns på.
public NDShape Shape { get; }
Formen på värdet.
public StroageFormat StorageFormat { get; }
Lagringsformatet för värdet.
public bool IsSparse { get; }
Ett booleskt värde som anger om värdet innehåller data i glest lagringsformat.
public bool IsReadOnly { get; }
Ett booleskt värde som anger om värdet är skrivskyddat.
public int maskedCount { get; }
Antalet maskerade/ogiltiga värden i värdet.
public void CopyFrom(Value Source)
Kopierar innehållet i source
till värdet. Formerna för Source
data och mask måste vara identiska med this
Value-data och mask.
Parameter:
-
Source
: Källobjektet som värdet kopieras från.
public Value DeepClone()
Skapar ett nytt värde med nyligen allokerad lagring på samma enhet som this
Värde och kopierar this
värdets innehåll till det nyligen allokerade värdet.
public Value DeepClone(bool readOnly)
Skapar ett nytt värde med nyligen allokerad lagring på samma enhet som this
Värde och kopierar this
värdets innehåll till det nyligen allokerade värdet.
Parameter:
-
readOnly
: det nya värdeobjektet är skrivskyddat om den här flaggan ärtrue
.
public Value Alias(bool readOnly)
Skapar ett nytt värde som är ett alias för this
Value.
Parameter:
-
readOnly
: det nya värdeobjektet är skrivskyddat om den här flaggan ärtrue
.
public IList<IList<T>> GetDenseData<T>(Variable outputVariable)
Hämtar data som lagras i value-objektet som en lista över sekvenser med variabel längd i tätt format. Den här metoden returnerar en IList<IList>. Varje element i den yttre listan representerar en sekvens. Varje sekvens, som representeras av IList, innehåller ett variabelt antal exempel. Varje exempel består av ett fast antal element med typen "T". Antalet element bestäms av formen på outputVariable. Antalet exempel är antalet element i IList dividerat med antalet element i exemplet.
Parameter:
-
outputVariable
: Variabeln som värdet anger. Formen på variabeln ska matcha formen på värdet.
public IList<IList<int>> GetOneHotData(Variable outputVariable)
Hämtar data som lagras i value-objektet som en lista över sekvenser med variabellängd i en frekvent vektorformat. Den här metoden returnerar en IList<IList>. Varje element i den yttre listan representerar en sekvens. Varje sekvens, som representeras av IList, innehåller ett variabelt antal exempel. Varje exempel representeras av ett index till en frekvent vektor. Antalet exempel är antalet element i IList.
Parameter:
-
outputVariable
: Variabeln som värdet anger. Storleken på en frekvent vektor ska matcha den som definierats i variabeln.
public void GetSparseData<T>(Variable outputVariable, out int sequenceLength, out IList<int> colStarts, out IList<int> rowIndices, out IList<T> nonZeroValues, out int numNonZeroValues)
Kopiera data som lagras i value-objektet till buffertar som representerar en sekvens i CSC-sparsformat. Sekvensbufferten kommer att ändras om det behövs. Värdet ska ha samma tensorform som outputVariable. Vid retur sequenceLength
anges längden på sekvensen som lagras i Värdet och colStarts
, rowIndices
och nonZeroValues
innehåller data för kolumnstartindex, radindex och icke-nollvärden, och numNonZeroValues
anges till antalet värden som inte är noll i this
Värde.
Parametrar:
-
outputVariable
: anger formen och dynamiska axlar när du kopierar data från det här värdet till buffertarna. -
sequenceLength
: Vid retur är den inställd på längden på sekvensen som lagras i värdet. -
colStarts
: Vid retur innehåller den index till det första elementetnonZeorValues
som inte är noll i varje kolumn i matrisen. -
rowIndices
: Vid retur innehåller den radindex för varje element som inte är noll i matrisen. -
nonZeroValues
: Vid retur innehåller den värden för alla element som inte är noll i matrisen. -
numNonZeroValues
: Vid retur returnerar den antalet icke-noll-element i matrisen.
Följande metoder kommer snart att bli inaktuella. Använd GetDenseData() och GetOneHotData() som beskrivs ovan.
public void CopyVariableValueTo<T>(Variable outputVariable, List<List<T>> sequences)
Kopierar data som lagras i värdet till bufferten som tillhandahålls av sequences
.
sequences
är en lista över sekvenser med variabel längd. Antalet objekt som finns i den yttre listan sequences
är antalet sekvenser i värdet. Varje element i den yttre listan representerar en sekvens. Varje sekvens, som representeras av List<T>
, innehåller ett variabelt antal exempel. Varje exempel består av ett fast antal element med typen T
. Antalet element i ett prov bestäms av formen på outputVariable
. Formen på variabeln ska matcha formen på värdet.
Parametrar:
-
outputVariable
: anger formen och dynamiska axlar när du kopierar data från värdet tillsequences
. -
sequences
: utdatabufferten som används för att lagra data som kopierats från värdet.
public void CopyVariableValueTo(Variable outputVariable, List<List<uint>> sequences
Kopierar data som lagras i value-objektet till bufferten som tillhandahålls av sequences
.
sequences
är en lista över sekvenser med variabel längd. Antalet objekt som finns i den yttre listan sequences
är antalet sekvenser i värdet. Varje element i den yttre listan representerar en sekvens. Varje sekvens, som representeras av List<uint>
, innehåller ett variabelt antal exempel. Varje exempel representeras av ett index som pekar på värdet som inte är noll i en frekvent vektor. Dimensionsstorleken för en frekvent vektor ska matcha den som definieras i outputVariable
.
Parametrar:
-
outputVariable
: anger formen och dynamiska axlar när du kopierar data från värdet tillsequences
. -
sequences
: utdatabufferten som används för att lagra data som kopierats från värdet.
klassvariabel
Anger en symbolisk entitet som motsvarar indata och utdata för en Function
.
Variable
Egenskaperna för som ofta används i utvärderingen är:
public string Name { get; }
Namnet på variabeln.
public NDShape Shape { get; }
Variabelns form.
public DataType DataTye { get; }
DataType(#enum-datatyp) för de data som variabeln representerar.
public VariableKind Kind { get; }
VariableKind för variabeln.
public bool IsSparse { get; }
Ett booleskt värde som anger om variabeln anger glesa data.
public bool IsInput { get; }
Ett booleskt värde som anger om variabeln är en indata.
public bool IsOutput { get; }
Ett booleskt värde som anger om variabeln är en utdata.
public bool IsParameter { get; }
Ett booleskt värde som anger om variabeln är en parameter.
public bool IsConstant { get; }
Ett booleskt värde som anger om variabeln är en konstant.
public bool IsPlaceholder { get; }
Ett booleskt värde som anger om variabeln är en platshållare.
public IList<Axis> DynamicAxes { get; }
Returnerar de dynamiska axlarna i variabeln.
public Function Owner { get; }
Returnerar funktionen som variabeln är utdata från. Returnerar null
när variabeln inte har VariableKind-utdata.
class DeviceDescriptor
Anger en beräkningsenhetsinstans.
Klassen DeviceDescriptor
innehåller följande egenskaper och metoder:
public int Id { get; }
Enhetens ID.
public DeviceKind Type { get; }
DeviceKind för enheten.
public static DeviceDescriptor CPUDevice { get; }
DeviceDescriptor som representerar CPU-enheten i det lokala systemet.
public static DeviceDescriptor GPUDevice(int deviceId)
Hämtar DeviceDescriptor för GPU-enheten i det lokala systemet med angivet CUDA-enhets-ID.
Parameter:
-
deviceId
: CUDA-enhets-ID.
public static IList<DeviceDescriptor> AllDevices()
Hämtar en lista över deskriptorer för alla tillgängliga/enheter som stöds.
klass NDShape
Anger en flerdimensionell rektangulär form.
public NDShape()
Skapar en NDShape med 0 axlar, vilket anger en skalär.
public NDShape(int numAxes, int dimension)
Konstruerar en NDShape-instans med angiven rang- och dimensionsstorlek. Varje axel har samma dimensionalitet.
Parametrar:
-
numAxes
: antalet axlar i formen. -
dimension
: dimensionsstorleken som tillämpas på varje axel.
public NDShape(int numAxes)
Skapar en NDShape-instans med angiven rangordning. Dimensionaliteten på varje axel är NDShape.InferredDimension
.
Parameter:
-
numAxes
: antalet axlar i formen.
public static NDShape CreateNDShape(IEnumerable<int> dimensions)
Skapar en NDShape-instans med angivna dimensioner. Parameter:
-
dimensions
: dimensionens storlek för varje axel.
public int Rank { get; }
Rangordningen för NDShape.
public IList<int> Dimensions { get; }
Dimensionerna för NDShape.
public int TotalSize { get; }
Den totala storleken på den rektangulära form som formen anger.
public int this[int key] { get; }
Returnerar dimensionsstorleken för den angivna axeln.
public int IsUnknown { get; }
Ett booleskt värde som anger om formen är den speciella okända formen.
public int HasInferredDimension { get; }
Ett booleskt värde som anger om dimensionsstorleken för någon av axlarna i formen är okänd/härledd (NDShape.InferredDimension).
public NDShape AppendShape(NDShape shape)
Skapar och returnerar en ny form som skapas genom att dimensionerna för den angivna formen läggs till this
i formens dimensioner.
public NDShape SubShape(int beginAxisId, int endAxisId)
Skapar och returnerar en ny NDShape-instans med samma dimensioner som this
formens angivna axelintervall [beginAxisId, endAxisId).
public NDShape SubShape(int beginAxisId)
Skapar och returnerar en ny NDShape-instans med samma dimensioner som this
formens axelintervall mellan beginAxisId-axeln (inklusive) och den sista axeln (inklusive).
klass NDArrayView
Anger en flerdimensionell skrivbar eller skrivskyddad matris med elementvärden. Den här typen anger en vy och det kan finnas flera samtidiga vyer av data som ligger bakom en NDArrayView-instans. Underliggande data lagras i glest eller tätt format och finns på en specifik enhet.
public NDArrayView(NDShape viewShape, float[] dataBuffer, DeviceDescriptor device, bool readOnly = false)
public NDArrayView(NDShape viewShape, double[] dataBuffer, DeviceDescriptor device, bool readOnly = false)
Skapar en NDArrayView med angiven "dataBuffer" i kompakt format som lagring på den angivna enheten.
Parametrar:
-
viewShape
: formen på den NDArrayView som skapas. -
dataBuffer
: datavärdena i NDArrayView. DataBuffer måste vara minst lika stor som den totala storleken på den angivna "viewShape" och måste överleva det skapade NDArrayView-objektet. -
device
: på vilken enhet NDArrayView-objektet ska skapas. -
readOnly
: NDArrayView-objektet är skrivskyddat om den här flaggan ärtrue
.
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)
Skapar en NDArrayView med den angivna lagringen i glest CSC-format på den angivna enheten. Angivna sparse-data måste överleva det skapade NDArrayView-objektet.
Parametrar:
-
viewShape
: formen på den NDArrayView som skapas. -
colStarts
: Matrisen innehåller index för varje kolumn i matrisernarowIndices
ochnonZeroValues
. -
rowIndices
: matrisen som innehåller radindexen för motsvarande element i matrisennonZeroValues
. -
nonZeroValues
: matrisen som innehåller alla icke-nollvärden i den glesa matrisen. Angivna sparse-data måste överleva det skapade NDArrayView-objektet. -
device
: på vilken enhet NDArrayView-objektet ska skapas. -
readOnly
: NDArrayView-objektet är skrivskyddat om den här flaggan ärtrue
.
public DeviceDescriptor Device
DeviceDescriptor för enheten som NDArrayView finns på.
public NDShape Shape
Formen på NDArrayView.
public DataType DataType
DataType för de data som NDArrayView lagrar.
public StroageFormat StorageFormat
Lagringsformatet för NDArrayView.
public bool IsSparse
Ett booleskt värde som anger om NDArrayView innehåller data i glest lagringsformat.
public bool IsReadOnly`
A boolean value indicating whether the NDArrayView is read-only.
***
```cs
public NDArrayView DeepClone()
Skapar en ny NDArrayView med nyligen allokerad lagring på samma enhet som this
visa och kopierar this
vyns innehåll till den nyligen allokerade vyn.
public NDArrayView DeepClone(bool readOnly)
Skapar en ny NDArrayView med nyligen allokerad lagring på samma enhet som this
visa och kopierar this
vyns innehåll till den nyligen allokerade vyn.
Parameter:
-
readOnly
: det nya NDArrayView-objektet är skrivskyddat om den här flaggan ärtrue
.
public NDArrayView DeepClone(DeviceDescriptor device, bool readOnly)
Skapar en ny NDArrayView med nyligen allokerad lagring på den angivna enheten och kopierar this
vyns innehåll till den nyligen allokerade vyn.
Parametrar:
-
device
: på vilken enhet det nya NDArrayView-objektet ska skapas. -
readOnly
: det nya NDArrayView-objektet är skrivskyddat om den här flaggan ärtrue
.
public NDArrayView Alias(bool readOnly)
Skapar en ny NDArrayView som är ett alias för this
vyn, dvs. en ny vy av samma form som this
över samma underliggande data.
Parameter:
-
readOnly
: det nya NDArrayView-objektet är skrivskyddat om den här flaggan ärtrue
.
public NDArrayView AsShape(NDShape newShape)
Skapar en ny NDArrayView som är ett alias för this
vyn men med en ny form.
Parameter:
-
newShape
: formen på det nya NDArrayView-objektet.
public void CopyFrom(NDArrayView source)
Kopierar innehållet i "source" NDArrayView att this
visa. Formerna i källvyn och this
-vyn måste vara identiska.
Parameter:
-
source
: källan NDArrayView vars innehåll kopieras för attthis
visa.
public void ChangeDevice(DeviceDescriptor device)
Ändrar enheten för NDArrayView till den angivna enheten.
Parameter:
-
device
: målenheten för NDArrayView-objektet.
klass NDMask
Anger en flerdimensionell mask som används för att ange specifika avsnitt i ett NDArrayView-objekt som maskerade/ogiltiga. Den här typen anger en vy och det kan finnas flera samtidiga vyer av data som ligger bakom en NDMask-instans.
public NDMask(NDShape shape, DeviceDescriptor device)
Skapa ett nytt maskobjekt med angiven form på den angivna enheten.
Parametrar:
-
shape
: NDMask-objektets form. -
device
: målenheten för MDMask-objektet.
public int MaskedCount { get; }
Antalet maskerade/ogiltiga värden.
public int Device { get; }
Beskrivningen av enheten som masken finns på
public int Shape { get; }
Maskens form.
public void InvalidateSection(IEnumerable<int> sectionOffset, NDShape sectionShape)
Maskera det angivna underavsnittet som ogiltigt.
Parametrar:
-
sectionOffset
: En lista som anger startpositionerna för avsnittet som ska maskeras som ogiltiga. -
sectionShape
: Formen beskriver avsnittet som ska maskeras som ogiltigt.
public void MarkSequenceBegin(IEnumerable<int> offset)
Markera den angivna positionen när sekvensen börjar.
Parameter:
-
sectionOffset
: En lista som anger startpositioner i masken som ska maskeras när sekvensen börjar.
public void MarkSequenceBegin(IEnumerable<int> offset, NDShape sectionShape)
Markera det angivna underavsnittet när sekvensen börjar.
Parametrar:
-
offset
: En lista som anger startpositioner för avsnittet som ska maskeras när sekvensen börjar. -
sectionShape
: Formen beskriver avsnittet som ska maskeras när sekvensen börjar.
public void Clear()
Rensa masken. Alla värden som för närvarande är maskerade som ogiltiga är inställda på giltiga.
public NDMask DeepClone(DeviceDescriptor device)
Skapar en ny NDMask med nyligen allokerad lagring på den angivna enheten och kopierar this
maskens innehåll till den nyligen allokerade vyn.
Parameter:
-
device
: målenheten för MDMask-objektet.
public NDMask DeepClone()
Skapar en ny NDMask med nyligen allokerad lagring på samma enhet som this
masken och kopierar this
maskens innehåll till den nyligen allokerade masken.
public NDMask Alias()
Skapar en ny NDMask som är ett maskalias this
.
public void CopyFrom(NDMask source)
Kopierar innehållet i source
NDMask som ska this
maskeras. Maskens och this
maskens source
former måste vara identiska.
Parameter:
-
source
: källans NDMask vars innehåll kopieras för attthis
visa.
klassaxel
Anger en axel för en Variable
. Förutom de statiska axlar som motsvarar var och en av axlarna i variabelns form har variabler av typen "Input" och alla utdatavariabler som är beroende av en indatavariabel också två ytterligare dynamiska axlar vars dimensioner bara är kända när variabeln är bunden till faktiska data under beräkning (viz. sekvensaxel och batchaxel som anger den axel längs vilken flera sekvenser batchfördelades)
Följande egenskaper definieras i klassen Axis
public string Name { get; }
Namnet på axeln.
public bool IsStatic { get; }
Returnerar ett booleskt värde som anger om axeln motsvarar en statisk axel.
public bool IsDynamic { get; }
Returnerar ett booleskt värde som anger om axeln motsvarar en dynamisk axel.
klassverktyg
public static void SetMaxNumCPUThreads(int numCPUThreads)
Anger det processomfattande maximala antalet CPU-trådar som ska användas av en enskild beräkningsåtgärd.
public static int GetMaxNumCPUThreads()
Returnerar det processomfattande maximala antalet CPU-trådar som ska användas av en enskild beräkningsåtgärd.
public static void SetTraceLevel(TraceLevel value)
Anger utförlig nivå för global loggning.
public static TraceLevel GetTraceLevel()
Returnerar aktuell loggningsveroalitetsnivå.
enum VariableKind
Anger typen av symboliskt Variable
objekt
enum VariableKind { Input, Output, Parameter, Constant, Placeholder };
enum DataType
Anger datatypen för symboliska dataentiteter eller faktiska data.
enum DataType { Unknown, Float, Double };
enum DeviceKind
Anger typen av beräkningsenhet.
enum DeviceKind { CPU, GPU };
enum StorageFormat
Anger formatet för lagring som ligger till grund för en instans av en NDArrayView.
enum StorageFormat { Dense, SparseCSC, SparseBlockCol };
enum ParameterCloningMethod
Anger hur parametrar hanteras när en funktion klonas.
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
Anger loggning av utförlighetsnivåer.
enum TraceLevel { Error, Warning, Info };