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. 综合案例:实现线性回归

任务描述:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/537573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis数据类型介绍

Redis是一种开源的高性能内存数据存储系统,支持多种数据结构的操作。下面是Redis支持的五种数据类型介绍: 1. 字符串(string):Redis中字符串是二进制安全的,允许存储任何格式的数据,如图片、视频…

Springboot集成RabbitMq+延时队列

1. 引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 2.配置yml 2.1 配置生产者yml spring:rabbitmq:host: localhostport: 5672virtual-host: …

UE 模型学习

1. UE中任何模型都是有多个三角面构成的&#xff0c;模型有一个顶点数组&#xff0c;根据右手螺旋定则和三个顶点顺序确定三角面的法线。 注&#xff1a;当三角面的法线方向与相机法线方向相同时&#xff0c;此时看不见三角面&#xff1b;当两法线方向相反&#xff0c;此时才能…

数据结构DAY5--二叉树相关流程

流程有&#xff1a;创建->遍历->得到信息->销毁 创建 根据先序遍历的流程以及对叶子结点的左后驱结点和右后驱结点以#号替代的原则&#xff0c;写出一个数组&#xff0c;并建立一个结构体&#xff0c;包括数据域&#xff0c;结构体类型的左后驱结点和右后驱结点指针…

数字证书在网络安全中的关键作用与日常应用

在当今数字化的时代&#xff0c;网络安全问题日益凸显&#xff0c;保护数据安全和用户隐私成为了人们关注的焦点。数字证书作为一种重要的网络安全技术&#xff0c;其在网络安全中扮演着关键的角色&#xff0c;并且在我们的日常生活中有着广泛的应用。现在给大家介绍简单介绍下…

blender怎么用GPU渲染?blender GPU云渲染推荐

在三维建模和渲染领域&#xff0c;Blender以其强大的功能和免费开源的特点广受好评。GPU渲染作为提升渲染效率的关键技术&#xff0c;越来越受到用户的关注。本文将详细介绍如何在Blender中设置并利用GPU进行渲染&#xff0c;以及探索其云渲染的可能性&#xff0c;助力用户高效…

装机指导。

everything winrar snipaste cmake git tortoisegit tortoisesvn inno setup vs2022 安装的时候注意sdk路径一定要默认&#xff01;&#xff01; 否则你会发现在你的sdk安装路径的根盘符下会多出一个Windows Kits&#xff0c;强迫症接受不了 默认的会跟已有的装在一起…

无法用raven-js,如何直接使用TraceKit标准化错误字符串(一次有趣的探索)

引子&#xff1a;网上三年前&#xff08;2020&#xff09;的文章介绍了一个raven-js 简单说就是把堆栈信息格式化兼容各浏览器&#xff0c;便于查看错误来源。 **but&#xff1a;**到处找了一下raven-js&#xff0c;已经没有官方出处了&#xff0c;只在Sentry的源码仓库里发现…

林江院长赴长沙见证爱尔眼科巩膜镜技术诊疗门诊启动仪式

近日&#xff0c;爱尔眼科“巩膜镜技术诊疗门诊、视觉康复及训练门诊”启动会在湖南长沙顺利举行。旨在通过成立爱尔眼科巩膜镜技术诊疗门诊、视觉康复及训练门诊&#xff0c;为有需要的疑难屈光不正患者提供全新的诊疗途径&#xff0c;为各年龄阶段人群视觉问题提供更全面的个…

[数据结构初阶]二叉树

我们在前两篇博客中主要介绍了堆及其应用&#xff0c;针对的对象堆是完全二叉树&#xff0c;存储方式采用顺序结构存储的方式。 那么好的&#xff0c;这篇博客我们浅谈二叉树的链式存储&#xff0c;针对的对象是二叉树&#xff0c;并不局限于完全二叉树了&#xff01; 我们先来…

PlayerSettings.WebGL.emscriptenArgs设置无效的问题

1&#xff09;PlayerSettings.WebGL.emscriptenArgs设置无效的问题 2&#xff09;多个小资源包合并为大资源包的疑问 3&#xff09;AssetBundle在移动设备上丢失 4&#xff09;Unity云渲染插件RenderStreaming&#xff0c;如何实现多用户分别有独立的操作 这是第381篇UWA技术知…

MySOL之旅--------MySQL数据库基础( 3 )

本篇碎碎念:要相信啊,胜利就在前方,要是因为一点小事就停滞不前,可能你也不适合获取胜利,成功的路上会伴有泥石,但是走到最后,你会发现身上的泥泞皆是荣耀的勋章! 今日份励志文案: 凡是发生皆有利于我 目录 查询(select) 1.全列查询 2.指定列查询 3.查询字段为表达式 ​编…

PVE系统的安装

一.PVE系统的安装 前置准备环境:windows电脑已安装Oracle VM VirtualBox,电脑支持虚拟化,且已经开启,按住ctrl+shift+ESC打开任务管理器查看是否开启,如果被禁用,可进入BIOS开启虚拟化,重启电脑后再进行后续操作。本步骤选用windows10安装VirtualBox,版本为7.0.8。 …

被拒绝的职场空窗期,到底该怎么办?

打工人的心头刺 最近&#xff0c;一则新闻在网上炸开了锅&#xff1a;一位求职者因职场空窗期超过三个月&#xff0c;竟被无情拒绝应聘。消息一出&#xff0c;瞬间引起了广大职场人的共鸣。在这个快节奏的时代&#xff0c;我们似乎被一种无形的力量推着&#xff0c;不敢休息&am…

高性能代码如何编写?

引言&#xff1a; 性能优化一直是一个至关重要的议题。随着应用程序规模的不断增长和用户对性能的不断提升的要求&#xff0c;开发人员需要更加关注如何编写高性能的代码&#xff0c;以确保应用程序能够在各种情况下都能保持稳定和高效。编写高性能代码需要从多个方面入手&…

编译Nginx配置QUIC/HTTP3.0

1. 安装BoringSSL sudo apt update sudo apt install -y build-essential ca-certificates zlib1g-dev libpcre3 \ libpcre3-dev tar unzip libssl-dev wget curl git cmake ninja-build mercurial \ libunwind-dev pkg-configgit clone --depth1 https://github.com/google/b…

耐受强酸碱PFA试剂瓶高纯实验级进口聚四氟乙烯材质取样瓶

PFA取样瓶作为实验室中常备器皿耗材之一&#xff0c;主要用来盛放、储存和运输样品&#xff0c;根据使用条件不同&#xff0c;也可叫特氟龙试剂瓶、样品瓶、储样瓶、广口瓶、进样瓶等。广泛应用于半导体、新材料、多晶硅、硅材、微电子等行业。近年来随着新兴行业的快速发展&am…

软考 — 系统架构设计师 - 嵌入式真题

问题1&#xff1a; 可靠度表示系统在规定条件下&#xff0c;规定的时间内不发生失效的概率。 失效率表示系统运行到此时从未出现失效的情况下&#xff0c;单位时间内系统出现失效的概率 问题 2&#xff1a; 动态冗余又称为主动冗余&#xff0c;通过故障检测&#xff0c;故障定…

麒麟系统(kylin)安装ssh后,无法上传文件

1.赋予文件夹权限 chmod 777 filename 2.修改ssh配置文件 vi /etc/ssh/sshd_config 将Subsystem sftp /xxxxx 改为Subsystem sftp internal-sftp 重启服务 sudo service sshd restart 断开ssh连接&#xff0c;重新连接&#xff0c;即可正常上传文件

2012年认证杯SPSSPRO杯数学建模D题(第二阶段)人机游戏中的数学模型全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 D题 人机游戏中的数学模型 原题再现&#xff1a; 计算机游戏在社会和生活中享有特殊地位。游戏设计者主要考虑易学性、趣味性和界面友好性。趣味性是本质吸引力&#xff0c;使玩游戏者百玩不厌。网络游戏一般考虑如何搭建安全可靠、丰富多彩的…