Python 全栈体系【四阶】(二十九)

2024-04-12 20:28

本文主要是介绍Python 全栈体系【四阶】(二十九),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第五章 深度学习

四、TensorFlow

5. 张量及基本运算

5.1 张量的阶与形状

阶:张量的维度(数方括号的层数)

形状表示方法

  • 0 维:( )
  • 1 维:(5),1 行 5 个元素
  • 2 维:(2,3),2 行 3 列
  • 3 维:(2,3,4), 两个 3 行 4 列的矩阵
5.2 张量的数据类型

在这里插入图片描述

5.3 张量常用属性
属性名称说明
graph所属的默认图
op张量的操作名
name名称
shape形状
dtype元素类型
5.4 案例 5:查看张量属性

在这里插入图片描述

5.5 案例 6:生成张量

在这里插入图片描述

5.6 张量类型转换
函数名称说明
tf.string_to_number(string_tensor)字符串转换为数字
tf.to_double(x)转换为 64 位浮点型
tf.to_float(x)转换为 32 位浮点型
tf.to_int32(x) / tf.to_int64(x)转换为 32/64 位整型
tf.cast(x, dtype)将 x 转换为 dtype 所指定的类型
5.7 案例 7:张量类型转换

在这里插入图片描述

5.8 占位符

不确定张量内容情况下,可以使用占位符先占个位置,然后执行计算时,通过参数传入具体数据执行计算(通过 feed_dict 参数指定)。placeholder 节点被声明的时候是未初始化的, 也不包含数据, 如果没有为它供给数据, 则 TensorFlow 运算的时候会产生错误。

占位符定义:

  • name = placeholder(dtype, shape=None, name=None)
5.9 案例 8:占位符使用

在这里插入图片描述

5.10 张量形状改变

静态形状:在创建一个张量,初始状态的形状

  • tf.Tensor.get_shape():获取 Tensor 对象的静态形状
  • tf.Tensor.set_shape():更新 Tensor 对象的静态形状
  • 注意:转换静态形状的时候,1-D 到 1-D,2-D 到 2-D,不能跨阶数改变形状;对于已经固定或者设置静态形状的张量/变量,不能再次设置静态形状

动态形状:在运行图时,动态形状才是真正用到的,这种形状是一种描述原始张量在执行过程中的一种张量

  • tf.reshape(tf.Tensor, shape) :创建一个具有不同动态形状的新张量
  • 可以跨纬度转换,如 1D–>2D, 1D–>3D
5.11 案例 9:修改张量形状

在这里插入图片描述

5.12 张量数学计算
函数名称说明
tf.add(x, y)张量相加
tf.matmul(x, y)张量相乘
tf.log(x)求张量的自然对数
tf.reduce_sum(x, axis)计算张量指定维度上的总和
tf.segment_sum(data, segment_ids)计算张量片段总和

矩阵乘法说明

  • 当矩阵 A 的列数(column)等于矩阵 B 的行数(row)时,A 与 B 可以相乘
  • 矩阵 C 的行数等于矩阵 A 的行数,C 的列数等于 B 的列数
  • 乘积 C 的第 m 行第 n 列的元素等于矩阵 A 的第 m 行的元素与矩阵 B 的第 n 列对应元素乘积之和

在这里插入图片描述

5.13 案例 10:张量数学计算

在这里插入图片描述
在这里插入图片描述

5.14 变量

变量是一种 op,它的值是张量

变量能够持久化保存,普通张量则不可

当定义一个变量时,需要在会话中进行初始化

变量创建

  • tf.Variable(initial_value=None, name=None)
5.15 案例 11:变量使用

在这里插入图片描述

6. Tensorboard 工具

请添加图片描述

6.1 什么是可视化

可视化是用来查看在 Tensorflow 平台下程序运行的过程,包括:张量/变量,操作,数据流,学习过程等,从而方便 TensorFlow 程序的理解、调试与优化。

Tensorflow 提供了专门的可视化工具 tensorboard,它将 tensorflow 执行的数据、模型、过程用图形方式进行显示。tensorflow 在执行过程中,可以通过某些操作,将模型、数据、graph 等信息,保存到磁盘中的 Events 文件中去,从而提供给 tensorboard 进行可视化。

6.2 启动 tensorboard

使用以下命令启动 tensorboard

  • tensorboard -logdir=“PycharmProjects/tensorflow_study/summary/”
  • 其中,logdir 参数的值为事件文件存储目录,启动成功后可以看到如下信息,使用提示的 URL 地址和端口进行访问:
TensorBoard 1.14.0 at http://127.0.0.1:6006/
6.3 tensorboard 主页说明

在这里插入图片描述

6.4 案例 12:为操作添加可视化

在这里插入图片描述
在这里插入图片描述
注:张量如果未使用默认情况下不显示

6.5 摘要与事件文件操作

如果需要将变量/张量在 tensorboard 中显示,需要执行以下两步:

  • 收集变量
    • tf.summary.scalar(name, tensor) # 收集标量,name 为名字,tensor 为值
    • tf.summary.histogram(name, tensor) # 收集高维度变量参数
    • tf.summary.image(name, tensor) # 收集图片张量
  • 合并变量并写入事件文件
    • merged = tf.summary.merge_all() # 合并所有变量
    • summary = sess.run(merged) # 运行合并,每次迭代训练都需要运行
    • FileWriter.add_summary(summary, i) # 添加摘要,i 表示第几次的值

7. 综合案例:实现线性回归

任务描述:

  • 给定一组输入、输出作为样本
  • 定义线性模型,并进行训练
  • 将训练过程可视化
    在这里插入图片描述
    在这里插入图片描述

这篇关于Python 全栈体系【四阶】(二十九)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898152

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操