Home

How to Create Basic Math Operations in TensorFlow

|
|  Updated:  
2018-06-19 2:48:42
TensorFlow For Dummies
Explore Book
Buy On Amazon
Machine learning applications are fundamentally mathematical, and TensorFlow provides a wealth of routines for performing mathematical operations on tensors. Each routine is represented by a function of the 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
The first four functions perform element-wise arithmetic. The following code demonstrates how they work:
a = tf.constant([3., 3., 3.])

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 ]

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(a, b)               # [ 5. 5. 5. ]

total2 = a + b # [ 5. 5. 5. ]

When operating on floating-point values, 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])

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 div function and the / operator both perform element-wise division. In contrast, the divide function performs Python-style division.

About This Article

This article is from the book: 

About the book author:

Matthew Scarpino has been a programmer and engineer for more than 20 years. He has worked extensively with machine learning applications, especially those involving financial analysis, cognitive modeling, and image recognition. Matthew is a Google Certified Data Engineer and blogs about TensorFlow at tfblog.com.