TensorFlow进阶一(张量的范数、最值、均值、和函数、张量的比较)

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
个人网站:https://jerry-jy.co/

TensorFlow进阶一

一、任务需求

在介绍完张量的基本操作后,我们来进一步学习张量的进阶操作,如张量的合并与分割、范数统计、张量填充、张量限幅等,本节需要完成张量的合并(包括拼接和堆叠),张量的分割、向量范数、最值、均值、和,张量的比较等功能。

二、任务目标

1、掌握张量的合并
2、掌握张量的分割
3、掌握张量的最值、均值、和函数
4、掌握张量的比较

三、任务环境

1、python3.6
2、tensorflow2.4
3、jupyter

四、任务实施过程

(三)、向量范数

12、在 TensorFlow 中,可以通过 tf.norm(x, ord)求解张量的 L1、L2、∞等范数,其中参数ord 指定为 1、2 时计算 L1、L2 范数,指定为 np.inf 时计算∞ −范数

x = tf.ones([2,2])
tf.norm(x,ord=1) #计算L1范数

在这里插入图片描述

tf.norm(x,ord=2) #计算L2范数

<tf.Tensor: shape=(), dtype=float32, numpy=2.0>

import numpy as np
tf.norm(x,ord=np.inf) # 计算∞范数

在这里插入图片描述

(四)、最值、均值、和

13、考虑 shape 为[4,10]的张量,其中,第一个维度代表样本数量,第二个维度代表了当前样本分别属于10个类别的概率,需要求出每个样本的概率最大值,可以通过tf.reduce_max 函数实现

x = tf.random.normal([4,10]) # 模型生成概率
tf.reduce_max(x,axis=1) # 统计概率维度上的最大值

<tf.Tensor: shape=(4,), dtype=float32, numpy=array([1.8075018, 1.8042752, 1.0641811, 1.9087783], dtype=float32)>

在这里插入图片描述

14、返回长度为 4 的向量,分别代表了每个样本的最大概率值。同样求出每个样本概率的最小值

tf.reduce_min(x,axis=1)

<tf.Tensor: shape=(4,), dtype=float32, numpy=array([-0.4287228, -0.5215661, -1.9173664, -1.5540869], dtype=float32)>

15、求出每个样本的概率的均值

tf.reduce_mean(x,axis=1)

<tf.Tensor: shape=(4,), dtype=float32, numpy=array([ 0.4275422 , 0.2606017 , -0.19171332, 0.38828874], dtype=float32)>

16、当不指定 axis 参数时,tf.reduce_*函数会求解出全局元素的最大、最小、均值、和等数据。

x = tf.random.normal([4,10])
tf.reduce_max(x),tf.reduce_min(x),tf.reduce_mean(x)    

在这里插入图片描述

17、在求解误差函数时,通过 TensorFlow 的 MSE 误差函数可以求得每个样本的误差,需要计算样本的平均误差,此时可以通过 tf.reduce_mean 在样本数维度上计算均值

out = tf.random.normal([
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不懂开发的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值