
TensorFlow Machine Learning Cookbook
By :

Now we must learn about the other operations we can add to a TensorFlow graph.
Besides the standard arithmetic operations, TensorFlow provides us with more operations that we should be aware of. We need to know how to use them before proceeding. Again, we can create a graph session by running the following code:
import tensorflow as tf sess = tf.Session()
TensorFlow has the standard operations on tensors: add()
, sub()
, mul()
, and div()
. Note that all of these operations in this section will evaluate the inputs element-wise unless specified otherwise:
div()
and relevant functions.div()
returns the same type as the inputs. This means it really returns the floor of the division (akin to Python 2) if the inputs are integers. To return the Python 3 version, which casts integers into floats before dividing and always returning a float, TensorFlow provides the function truediv()
function, as shown as follows:print(sess.run(tf.div(3,4))) 0 print(sess.run(tf.truediv(3,4))) 0.75
floordiv()
. Note that this will still return a float, but rounded down to the nearest integer. The function is shown as follows:print(sess.run(tf.floordiv(3.0,4.0))) 0.0
mod()
. This function returns the remainder after the division. It is shown as follows:print(sess.run(tf.mod(22.0, 5.0))) 2.0-
cross()
function. Remember that the cross-product is only defined for two three-dimensional vectors, so it only accepts two three-dimensional tensors. The function is shown as follows:print(sess.run(tf.cross([1., 0., 0.], [0., 1., 0.]))) [ 0. 0. 1.0]
|
Absolute value of one input tensor |
|
Ceiling function of one input tensor |
|
Cosine function of one input tensor |
|
Base e exponential of one input tensor |
|
Floor function of one input tensor |
|
Multiplicative inverse (1/x) of one input tensor |
|
Natural logarithm of one input tensor |
|
Element-wise max of two tensors |
|
Element-wise min of two tensors |
|
Negative of one input tensor |
|
The first tensor raised to the second tensor element-wise |
|
Rounds one input tensor |
|
One over the square root of one tensor |
|
Returns -1, 0, or 1, depending on the sign of the tensor |
|
Sine function of one input tensor |
|
Square root of one input tensor |
|
Square of one input tensor |
|
Psi function, the derivative of the |
|
Gaussian error function, element-wise, of one tensor |
|
Complimentary error function of one tensor |
|
Lower regularized incomplete gamma function |
|
Upper regularized incomplete gamma function |
|
Natural logarithm of the absolute value of the beta function |
|
Natural logarithm of the absolute value of the gamma function |
|
Computes the square of the differences between two tensors |
It is important to know what functions are available to us to add to our computational graphs. Mostly, we will be concerned with the preceding functions. We can also generate many different custom functions as compositions of the preceding functions, as follows:
# Tangent function (tan(pi/4)=1) print(sess.run(tf.div(tf.sin(3.1416/4.), tf.cos(3.1416/4.)))) 1.0
If we wish to add other operations to our graphs that are not listed here, we must create our own from the preceding functions. Here is an example of an operation not listed previously that we can add to our graph. We choose to add a custom polynomial function, :
def custom_polynomial(value): return(tf.sub(3 * tf.square(value), value) + 10) print(sess.run(custom_polynomial(11))) 362