chainer.functions.scale

chainer.functions.scale(x, y, axis=1)[source]

Elementwise product with broadcasting.

Computes a elementwise product of two input variables, with the shape of the latter variable broadcasted to match the shape of the former. axis is the first axis of the first variable along which the second variable is applied.

The term “broadcasting” here comes from Caffe’s scale layer so the “broadcasting” with the following arguments:

   x : 100 x 3 x 40 x 5 x 6
   y : 3 x 40
axis : 1

is equivalent to the following numpy broadcasting:

x : 100 x  3 x 40 x 5 x 6
y :  (1 x) 3 x 40 x 1 x 1

Note that the axis of x to which we apply y is specified by the argument axis, whose meaning is different from numpy’s axis.

Parameters:
  • x (Variable) – Input variable to be scaled.
  • y (Variable) – Input variable to scale, broadcasted.
  • axis (int) – The first axis of x along which y is applied.
Returns:

Output variable.

Return type:

Variable