Partilhar via


Operações de redução

Reduza uma entrada, por exemplo, uma soma de cálculo ou uma média sobre elementos.

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

Parâmetros

  • x: dados para reduzir
  • axis (predefinição: None): se especificado, efetue apenas uma redução ao longo deste eixo. Este valor é baseado em 1; ou seja, 1 significa o primeiro eixo estático de x.

Valor devolvido

Valor reduzido. Para axis=1 (padrão), este é um escalar. Se for especificado um eixo, este eixo é reduzido para ter a dimensão 1.

Description

Estas funções calculam agregados (soma, média, etc.) sobre todos os valores de um vetor de entrada ou tensor. As agregações disponíveis são:

  • ReduceSum(): a soma sobre os elementos
  • ReduceLogSum(): a soma sobre elementos nas representações de registo (logC = log (exp (logA) + exp (logB)))
  • ReduceMean(): a média sobre os elementos
  • ReduceMax(): o valor máximo dos elementos
  • ReduceMin(): o valor mínimo

Por predefinição, a agregação é feita em todos os elementos. No caso de um tensor com a classificação>1, o parâmetro opcional axis especifica um único eixo que a redução é realizada. Por exemplo, axis=2 aplicado a uma [M x N]matriz -dimensional agregaria todas as colunas, produzindo um [M x 1] resultado.

Redução de sequências

Se a entrada for uma sequência, a redução é efetuada separadamente para cada item de sequência. Estas operações não suportam a redução sobre sequências. Em vez disso, podes conseguir isto com uma recorrência. Por exemplo, para resumir todos os elementos de uma sequência x, pode dizer:

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

e para o máximo de pooling, você pode usar

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

Exemplos

Normalizar um valor subtraindo a média dos seus elementos (por exemplo, como parte da normalização da camada):

mean = ReduceMean (x)
xNorm = x - mean

Ou, a entropia cruzada com o critério softmax pode ser definida manualmente usando ReduceLogSum():

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