Python ``tensorflow.math.multiply_no_nan()`` 安全无 NaN 乘法函数与实例


发布日期 : 2019-09-06 07:05:53 UTC

访问量: 10 次浏览

Python – tensorflow.math.multiply\_no\_nan()

TensorFlow是谷歌设计的开源python库,用于开发机器学习模型和深度学习神经网络。 multiply_no_nan()用于寻找明智的x*y元素。它支持广播,如果y是0,即使x是无限的或NaN,也会返回0。

语法:
tf.math.multiply_no_nan(x, y, name)

参数 :

  • x:它是输入的张量。这个张量允许的 dtype 是bfloat16, half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128。
  • y:它是与x相同d类型的输入张量。
  • name(可选):它定义了操作的名称。

返回值:

它返回一个与x具有相同dtype的张量。

示例 1:

# Importing the library
import tensorflow as tf

# Initializing the input tensor
a = tf.constant([.2, .5, .7, 1], dtype = tf.float64)
b = tf.constant([.1, .3, 1, 5], dtype = tf.float64)

# Printing the input tensor
print('a: ', a)
print('b: ', b)

# Calculating result
res = tf.math.multiply_no_nan(x = a, y = b)

# Printing the result
print('Result: ', res)

输出:

a: tf.Tensor([0.2 0.5 0.7 1. ], shape=(4, ), dtype=float64)
b: tf.Tensor([0.1 0.3 1. 5. ], shape=(4, ), dtype=float64)
Result: tf.Tensor([0.02 0.15 0.7 5. ], shape=(4, ), dtype=float64)

例子2:
复数乘法

# importing the library
import tensorflow as tf
import numpy as np

# Initializing the input tensor
a = tf.constant([-2, -5, np.inf, np.nan], dtype = tf.float64)
b = tf.constant([-1, -6, 0, 0], dtype = tf.float64)

# Printing the input tensor
print('a: ', a)
print('b: ', b)

# Calculating result
res = tf.math.multiply_no_nan(x = a, y = b)

# Printing the result
print('Result: ', res)

输出:

a: tf.Tensor([-2. -5. inf nan], shape=(4, ), dtype=float64)
b: tf.Tensor([-1. -6. 0. 0.], shape=(4, ), dtype=float64)
Result: tf.Tensor([ 2. 30. 0. 0.], shape=(4, ), dtype=float64)