【深度学习笔记】TensorFlow 常用函数

TensorFlow 提供了一些机器学习中常用的数学函数,并封装在 Module 中,例如 tf.nn Module 提供了神经网络常用的基本运算,tf.math Module 则提供了机器学习中常用的数学函数。本文主要介绍 TensorFlow 深度学习中几个常用函数的定义与用法,并给出相应用法示例。

目录

1 tf.nn.sigmoid

2 tf.nn.relu

3 tf.nn.softmax

4 tf.math.reduce_sum

5 tf.math.reduce_mean


TensorFlow 提供了一些机器学习中常用的数学函数,包括:

  • 基本的算术运算与三角函数
  • 复数运算(例如 tf.math.imag, tf.math,angle 等)
  • Reduce 运算(例如 tf.math.reduce_mean, tf.math.cumsum 等)
  • 切片函数(例如 tf.math.segment_sum)

以下介绍几个 TensorFlow 中常用函数的用法。

1 tf.nn.sigmoid

        tf.nn.sigmoid 用于计算函数

f(x) = 1/(1+e^{-x}))

的值,用法为

tf.nn.sigmoid(x, name=None)

其中 x 是一个 tf.Tensor 对象。

x = tf.constant([-128., 0., 128.])
tf.nn.sigmoid(x).numpy()

输出:array([0. , 0.5, 1. ], dtype=float32)

2 tf.nn.relu

        tf.nn.relu 用于计算线性修正函数

Relu(x) = max(x, 0)

的值, 用法为

tf.nn.relu(input_tensor, name=None)

relu = tf.nn.relu([-2., 0., 3.])
relu.numpy()

输出:array([0., 0., 3.], dtype=float32)

3 tf.nn.softmax

        tf.nn.softmax 用于计算 softmax 函数值,

softmax(x) = e^{x_{i}}/\sum_{i}^{n}e^{x_{i}}

用法为

tf.nn.softmax(input_tesnor, axis=None, name=None)

其中 input_tesnor 是一个非空的 tf.Tensor 对象。

softmax = tf.nn.softmax([-1., 0., 1.])
softmax.numpy()

输出:array([0.09003057, 0.24472848, 0.66524094], dtype=float32)

sum(softmax).numpy()

输出:1.0

4 tf.math.reduce_mean

        tf.math.reduce_mean 等同于 tf.reduce_mean, 用法为

tf.math.reduce_mean(input_tensor, axis=None, keepdims=False, name=None)

        如果 axis 值为 None,则所有维度都被 reduced,返回只包含 1 个元素的 tf.Tensor 对象。

x = tf.constant([[1., 1.], [2., 2.]])
tf.reduce_mean(x).numpy()

输出:1.5

tf.reduce_mean(x, 0).numpy()

输出:array([1.5, 1.5], dtype=float32)

tf.reduce_mean(x, 1).numpy()

输出:array([1., 2.], dtype=float32)

5 tf.math.reduce_sum

        tf.math.reduce_sum 等同于 tf.reduce_sum, 用法为

tf.math.reduce_sum(input_tensor, axis=None, keepdims=False, name=None)
x = tf.constant([[1, 1, 1], [1, 1, 1]])
tf.reduce_sum(x).numpy()

输出:6

tf.reduce_sum(x, 0).numpy()

输出:array([2, 2, 2])

tf.reduce_sum(x, 1).numpy()

输出:array([3, 3])

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工厂方法模式-java实现

介绍 工厂方法模式,通过把工厂抽象为一个接口,这样当我们新增具体产品的时候,就只需要实现一个新的具体工厂类即可。一个具体工厂类,对应着一个产品。 请注意:在工厂方法模式中,一个具体工厂类只对应生产…

DNS部署与安全详解(下)

文章目录 前言一、指定区域解析配置二、DNS服务器对外名称显示配置三、转发器使用配置四、配置辅助(备份)服务器五、如何让虚拟机可以真实上网六、为DNS服务器配置别名 前言 上一篇博客我们已经在Windows server2003的虚拟机上下载了DNS软件,…

Java:Stream API

文章目录 1 说明2 为什么要使用Stream API3 什么是StreamStream的操作三个步骤创建Stream实例一系列中间操作终止操作 1 说明 Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。Stream API ( java.util.stream) 把真正的函数式编程风…

【音视频、chatGpt】h5页面最小化后,再激活后视频停住问题的解决

目录 现象 观察 解决 现象 页面有时候要切换,要最小化;短时间或者几个小时内切换回来,视频可以正常续上;而放置较长时间,几个小时或者一晚上,切换回来后,视频可能卡死 观察 切换页面&#x…

【数据结构OJ题】删除有序数组中的重复项

原题链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 用双指针算法,定义两个变量src和dst,一开始让src和dst指向num[ ]数组的第一个元素&a…

HOT79-跳跃游戏 II

leetcode原题链接&#xff1a;跳跃游戏 II 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j &…

C++核心编程:函数提高

函数默认参数 在C中&#xff0c;函数的形参列表是可以有默认值的。 语法&#xff1a; 返回值类型 函数名 (参数 默认值){}示例&#xff1a; #include<iostream> using namespace std;//函数默认参数//如果我们传入了自己的数据就使用自己的数据&#xff0c;否则就是…

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度&#xff0c;减少内存占用 TextBrewer是一个基于PyTorch的、为实现NLP中的知识蒸馏任务而设计的工具包&#xff0c; 融合并改进了NLP和CV中的多种知识蒸馏技术&#xff0…

Linux简介及基础操作

简介&#xff1a; 1、linux和windows都是操作系统&#xff0c;多任务&#xff0c;多用户&#xff0c;多线程… Linux免费使用&#xff0c;自由传播&#xff0c;开源 2、Linux 发行版&#xff08;都是基于linux内核穿的外套&#xff09; Ubuntu——嵌入式开发 fedora——早期嵌入…

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透?

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透&#xff1f; 文章目录 如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透&#xff1f;前言1. 在群辉NAS系统下安装cpolar套件2. 管理隧道列表3. 创建固定数据隧道 前言 群晖作为大容量存储系统&#xff0c;既可…

Harbor企业镜像仓库部署

目录 1、案例概述 2、什么是 Harbor 3、Harbor 架构构成 4、案例环境 5、部署harbor环境 安装docker-ce&#xff08;所有主机&#xff09; 阿里云镜像加速器 部署Docker Compose 服务 部署 Harbor 服务 启动并安装 Harbor 创建一个新项目 6、客户端上传镜像 7…

Blender如何给fbx模型添加材质贴图并导出带有材质贴图的模型

推荐&#xff1a;使用 NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景 此教程适合新手用户&#xff0c;专业人士直接可直接绕路。 本教程中介绍了利用Blender建模软件&#xff0c;只需要简单几步就可以为模型添加材质贴&#xff0c;图&#xff0c;并且导出带有材质的模型文…