TensorFlow - 基础知识

TensorFlow - 基础知识 首页 / TensorFlow入门教程 / TensorFlow - 基础知识

在本章中,无涯教程将学习TensorFlow的基础知识,将从理解Tensor的数据结构开始。

Tensor数据结构

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

Tensor由以下三个参数

        Rank     -  Tensor内描述的维度单位称为秩,它标识Tensor的维数,Tensor的秩可以描述为定义的Tensor的阶或n维。

        Shape    -  行数和列数一起定义Tensor的形状。

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

  •                 创建一个n维数组
  •                 转换n维数组。
Tensor数据结构

TensorFlow维度

TensorFlow包括各种维度,下面简要描述

链接:https://www.learnfk.comhttps://www.learnfk.com/tensorflow/tensorflow-basics.html

来源:LearnFk无涯教程网

一维:一维张量是一种正常的数组结构,它包括一组相同数据类型的值。

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

输出的实现如-下面的屏幕截图所示

One Dimensional Tensor

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

>>> print Tensor_1d[0]
1.3
>>> print Tensor_1d[2]
4.0
Declaration

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

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处理操作

首先,让无涯教程考虑以下代码-

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)

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

无涯教程网

Tensor处理和操作

已经在上面的源代码中创建了多维数组。现在,重要的是要了解创建了图形,管理Tensor并生成适当的输出。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

代码精进之路 -〔范学雷〕

软件工程之美 -〔宝玉〕

从0开始做增长 -〔刘津〕

Linux内核技术实战课 -〔邵亚方〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

分布式金融架构课 -〔任杰〕

零基础入门Spark -〔吴磊〕

大型Android系统重构实战 -〔黄俊彬〕

好记忆不如烂笔头。留下您的足迹吧 :)