tf
package, and each function returns a tensor. When it comes to TensorFlow operations, its best to start simple. The following table lists 12 functions that perform basic math operations.Basic Math Operations
Function | Description |
add(x, y, name=None) |
Adds two tensors |
subtract(x, y, name=None) |
Subtracts two tensors |
multiply(x, y, name=None) |
Multiplies two tensors |
divide(x, y, name=None) |
Divides the elements of two tensors |
div(x, y, name=None) |
Divides the elements of two tensors |
add_n(inputs, name=None) |
Adds multiple tensors |
scalar_mul(scalar, x) |
Scales a tensor by a scalar value |
mod(x, y, name=None) |
Performs the modulo operation |
abs(x, name=None) |
Computes the absolute value |
negative(x, name=None) |
Negates the tensor's elements |
sign(x, name=None) |
Extracts the signs of the tensor’s element |
reciprocal(x, name=None) |
Computes the reciprocals |
a = tf.constant([3., 3., 3.])Applications can perform identical operations by using regular Python operators, such as +, -, *, /, and //. For example, the following two lines of code create the same tensor:b = tf.constant([2., 2., 2.])
sum = tf.add(a, b) # [ 5. 5. 5. ]
diff = tf.subtract(a, b) # [ 1. 1. 1. ]
prod = tf.multiply(a, b) # [ 6. 6. 6. ]
quot = tf.divide(a, b) # [ 1.5 1.5 1.5 ]
total = tf.add(a, b) # [ 5. 5. 5. ]When operating on floating-point values,total2 = a + b # [ 5. 5. 5. ]
div
and divide
produce the same result. But for integer division, divide
returns a floating-point result, and div
returns an integer result. The following code demonstrates the difference between them:
a = tf.constant([3, 3, 3])Theb = tf.constant([2, 2, 2])
div1 = tf.divide(a, b) # [ 1.5 1.5 1.5 ]
div2 = a / b # [ 1.5 1.5 1.5 ]
div3 = tf.div(a, b) # [ 1 1 1 ]
div4 = a // b # [ 1 1 1 ]
div
function and the /
operator both perform element-wise division. In contrast, the divide
function performs Python-style division.