📜  TensorFlow-基础

📅  最后修改于: 2020-12-10 06:01:19             🧑  作者: Mango


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

张量数据结构

Tensor用作TensorFlow语言中的基本数据结构。张量表示任何称为数据流图的流程图中的连接边。张量定义为多维数组或列表。

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

张量内描述的维数单位称为等级。它确定张量的维数。张量的秩可以描述为定义的张量的阶数或n维。

形状

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

类型

类型描述分配给Tensor元素的数据类型。

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

  • 建立一个n维数组
  • 转换n维数组。

张量数据结构

TensorFlow的各种尺寸

TensorFlow包括各种尺寸。尺寸在下面简要描述-

一维张量

一维张量是一种普通的数组结构,其中包含一组相同数据类型的值。

宣言

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

输出的实现显示在下面的屏幕截图中-

一维张量

元素的索引与Python列表相同。第一个元素以索引0开头;要通过索引打印值,您需要做的就是提及索引号。

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

宣言

二维张量

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

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

二维张量

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

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

跟踪二维张量

张量处理和操纵

在本部分中,我们将学习张量处理和操纵。

首先,让我们考虑以下代码-

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)

输出

上面的代码将生成以下输出-

张量处理和操纵

说明

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