MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / vector_norm_axis_tuple

Function vector_norm_axis_tuple

python/paddle/tensor/linalg.py:507–561  ·  view source on GitHub ↗

NOTE: This function calculates the vector norm for dim >= 2.

(
        input, porder=2, axis=None, keepdim=False, asvector=False, name=None
    )

Source from the content-addressed store, hash-verified

505 return reduce_out
506
507 def vector_norm_axis_tuple(
508 input, porder=2, axis=None, keepdim=False, asvector=False, name=None
509 ):
510 """
511 NOTE:
512 This function calculates the vector norm for dim >= 2.
513 """
514 if in_dynamic_or_pir_mode():
515 abs_out = _C_ops.abs(input)
516 pow_out = _C_ops.pow(abs_out, porder)
517 sum_out = _C_ops.sum(pow_out, axis, None, keepdim)
518 out = _C_ops.pow(sum_out, float(1.0 / porder))
519 return out
520
521 block = LayerHelper('norm', **locals())
522 out = block.create_variable_for_type_inference(
523 dtype=block.input_dtype()
524 )
525 abs_out = block.create_variable_for_type_inference(
526 dtype=block.input_dtype()
527 )
528 block.append_op(
529 type='abs', inputs={'X': input}, outputs={'Out': abs_out}
530 )
531 pow_out = block.create_variable_for_type_inference(
532 dtype=block.input_dtype()
533 )
534
535 block.append_op(
536 type='pow',
537 inputs={'X': abs_out},
538 outputs={'Out': pow_out},
539 attrs={'factor': porder},
540 )
541 sum_out = block.create_variable_for_type_inference(
542 dtype=block.input_dtype()
543 )
544 reduce_all, axis = _get_reduce_axis(axis, x)
545 block.append_op(
546 type='reduce_sum',
547 inputs={'X': pow_out},
548 outputs={'Out': sum_out},
549 attrs={
550 'dim': axis,
551 'keep_dim': keepdim,
552 'reduce_all': reduce_all,
553 },
554 )
555 block.append_op(
556 type='pow',
557 inputs={'X': sum_out},
558 outputs={'Out': out},
559 attrs={'factor': float(1.0 / porder)},
560 )
561 return out
562
563 def vector_norm_axis_int(
564 input, porder=2, axis=None, keepdim=False, asvector=False, name=None

Callers 1

vector_normFunction · 0.85

Calls 9

input_dtypeMethod · 0.95
append_opMethod · 0.95
in_dynamic_or_pir_modeFunction · 0.85
LayerHelperClass · 0.85
_get_reduce_axisFunction · 0.85
absMethod · 0.80
floatFunction · 0.50
sumMethod · 0.45

Tested by

no test coverage detected