Tensorflow 简明教程

TensorFlow - Basics

在本章中,我们将学习 TensorFlow 的基础知识。我们将首先了解张量的基础数据结构。

Tensor Data Structure

在 TensorFlow 语言中,张量用作基础数据结构。张量表示任意流图(称为数据流图)中的连接边缘。张量被定义为数组或列表的多维形式。

张量由以下三个参数标识:

Rank

张量中描述的维度单位称为秩。它标识张量的维度数量。张量的秩可以描述为已定义张量的阶次或 n 维。

Shape

行数和列数共同定义了张量的形状。

Type

类型描述了分配给张量元素的数据类型。

用户需要考虑以下活动来构建张量:

  1. Build an n-dimensional array

  2. Convert the n-dimensional array.

tensor data structure

Various Dimensions of TensorFlow

TensorFlow 包含多个维度。这些维度简述如下:

One dimensional Tensor

一维张量是包含同一数据类型的一组值的常规数组结构。

Declaration

>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d

带有输出的实施在以下屏幕截图中显示:

one dimensional tensor

元素的索引与 Python 列表相同。第一个元素从索引 0 开始;要通过索引打印值,您只需要提及索引号。

>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0
declaration

Two dimensional Tensors

数组序列用于创建“二维张量”。

二维张量的创建如下所述 −

two dimensional tensors

以下是创建二维数组的完整语法 −

>>> import numpy as np
>>> tensor_2d = np.array([(1,2,3,4),(4,5,6,7),(8,9,10,11),(12,13,14,15)])
>>> print(tensor_2d)
[[ 1 2 3 4]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
>>>

可以用行号和指定为索引号的列号来追踪二维张量的特定元素。

>>> tensor_2d[3][2]
14
two dimensional tensors tracked

Tensor Handling and Manipulations

在本节中,我们将学习张量处理和操作。

首先,我们考虑以下代码 −

import tensorflow as tf
import numpy as np

matrix1 = np.array([(2,2,2),(2,2,2),(2,2,2)],dtype = 'int32')
matrix2 = np.array([(1,1,1),(1,1,1),(1,1,1)],dtype = 'int32')

print (matrix1)
print (matrix2)

matrix1 = tf.constant(matrix1)
matrix2 = tf.constant(matrix2)
matrix_product = tf.matmul(matrix1, matrix2)
matrix_sum = tf.add(matrix1,matrix2)
matrix_3 = np.array([(2,7,2),(1,4,2),(9,0,2)],dtype = 'float32')
print (matrix_3)

matrix_det = tf.matrix_determinant(matrix_3)
with tf.Session() as sess:
   result1 = sess.run(matrix_product)
   result2 = sess.run(matrix_sum)
   result3 = sess.run(matrix_det)

print (result1)
print (result2)
print (result3)

Output

上述代码将生成以下输出 −

tensor handling and manipulations

Explanation

我们在上述源代码中生成了多维数组。现在,重要的是要理解我们创建了管理张量的图形和会话,并生成了适当的输出。借助图形,我们有指定张量之间数学计算的输出。