TensorFlow Mathematics
Deep learning and Machine learning applications are basically mathematical, and TensorFlow provides a efficient way for performing mathematical operations on tensors. Each and Every way is represented by a function of the tf module, and each function returns a tensor.Following are some mathematical functions provided by tensorflow.
Basic Math Operations
Function | Description |
add(a, b, name=None) | Adds two tensors |
subtract(a, b, name=None) | Subtracts two tensors |
multiply(a, b, name=None) | Multiplies two tensors |
divide(a, b, name=None) | Divides the elements of two tensors |
div(a, b, name=None) | Divides the elements of two tensors |
add_n(inputs, name=None) | Adds multiple tensors |
scalar_mul(scalar, a) | Scales a tensor by a scalar value |
mod(a, b, name=None) | Performs the modulo operation |
abs(a, name=None) | Computes the absolute value |
negative(a, name=None) | Negates the tensor’s elements |
sign(a, name=None) | Extracts the signs of the tensor’s element |
reciprocal(a, name=None) | Computes the reciprocals |
The first four functions perform element-wise arithmetic.
X = tf.constant([2., 2., 2.]) Y = tf.constant([4., 4., 4.]) sum = tf.add(X, Y) # [ 6. 6. 6. ] diff = tf.subtract(X, Y) # [ 2. 2. 2. ] prod = tf.multiply(X,Y) # [ 8. 8. 8. ] quot = tf.divide(X,Y) # [ 2 2 2 ]
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:
total = tf.add(X,Y) # [ 6. 6. 6. ] total2 = X + Y # [ 6. 6. 6. ]
When operating on floating-point values, div and divide produce the same result. But for integer division, divide returns a floating-point result, and divreturns an integer result. The following code demonstrates the difference between them:
a = tf.constant([3, 3, 3]) b = 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 ]
The operator “ / ” and “div” function both do element-wise division. On the other hand, the divide function do Python-style division.