Delen via


Reductiebewerkingen

Verminder een invoer, bijvoorbeeld de rekensom of het gemiddelde over elementen.

ReduceSum (x, axis=None)
ReduceLogSum (x, axis=None)
ReduceMean (x, axis=None)
ReduceMax (x, axis=None)
ReduceMin (x, axis=None)

Parameters

  • x: gegevens om te verminderen
  • axis (standaard: None): indien opgegeven, voert u alleen een reductie uit langs deze as. Deze waarde is gebaseerd op 1; 1 staat voor de eerste statische as van x.

Retourwaarde

Verminderde waarde. Voor axis=1 (standaard) is dit een scalaire waarde. Als een as is opgegeven, wordt die as verkleind tot dimensie 1.

Description

Met deze functies worden statistische functies berekend (som, gemiddelde, enzovoort) over alle waarden van een invoervector of tensor. Beschikbare aggregaties zijn:

  • ReduceSum(): de som van de elementen
  • ReduceLogSum(): de som van elementen in logboekweergaven (logC = log (exp (logA) + exp (logB)))
  • ReduceMean(): het gemiddelde over de elementen
  • ReduceMax(): de maximumwaarde van de elementen
  • ReduceMin(): de minimumwaarde

Standaard wordt aggregatie uitgevoerd op alle elementen. In het geval van een tensor met rang>1 geeft de optionele axis parameter één as op die de reductie wordt uitgevoerd. Als u bijvoorbeeld op een [M x N]-dimensionale matrix wordt toegepast, axis=2 worden alle kolommen samengevoegd, wat een [M x 1] resultaat oplevert.

Het verminderen van sequenties

Als de invoer een reeks is, wordt reductie afzonderlijk uitgevoerd voor elk reeksitem. Deze bewerkingen bieden geen ondersteuning voor het verminderen van sequenties. In plaats daarvan kunt u dit bereiken met een terugkeerpatroon. Als u bijvoorbeeld alle elementen van een reeks xwilt optellen, kunt u zeggen:

sum = x + PastValue (0, sum, defaultHiddenActivation=0)

en voor maximale pooling kunt u gebruiken

max = Max(x, PastValue (0, max, defaultHiddenActivation=0))

Voorbeelden

Normaliseer een waarde door het gemiddelde van de elementen ervan af te trekken (bijvoorbeeld als onderdeel van laagnormalisatie):

mean = ReduceMean (x)
xNorm = x - mean

Of het kruis-entropiecriterium met softmax-criterium kan handmatig worden gedefinieerd met behulp van ReduceLogSum():

myCrossEntropyWithSoftmax (y/*label*/, z/*logit*/) = ReduceLogSum (z) - ReduceSum (y .* z)