官术网_书友最值得收藏!

Declaring Operations

Now we must learn about the other operations we can add to a TensorFlow graph.

Getting ready

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()

How to do it…

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:

  1. TensorFlow provides some variations of div() and relevant functions.
  2. It is worth mentioning that 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
  3. If we have floats and want an integer division, we can use the function 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
  4. Another important function is 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-
  5. The cross-product between two tensors is achieved by the 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]
  6. Here is a compact list of the more common math functions. All of these functions operate elementwise.
  7. Specialty mathematical functions: There are some special math functions that get used in machine learning that are worth mentioning and TensorFlow has built in functions for them. Again, these functions operate element-wise, unless specified otherwise:

How it works…

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

There's more…

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, There's more…:

def custom_polynomial(value):
    return(tf.sub(3 * tf.square(value), value) + 10)
print(sess.run(custom_polynomial(11)))
362
主站蜘蛛池模板: 五寨县| 清镇市| 万全县| 聂拉木县| 昔阳县| 丹阳市| 温州市| 柳江县| 嘉鱼县| 苗栗县| 哈巴河县| 西和县| 喀喇| 日喀则市| 小金县| 苏尼特右旗| 定州市| 云霄县| 光山县| 全南县| 佛冈县| 黄龙县| 濮阳市| 正安县| 景德镇市| 乡城县| 嵊泗县| 自治县| 精河县| 曲水县| 丽江市| 尚志市| 东乌珠穆沁旗| 许昌市| 出国| 临泽县| 巴楚县| 竹山县| 林西县| 通许县| 盱眙县|