Tensorflow2.0笔记 - 基础数学运算

        本笔记主要记录基于元素操作的+,-,*,/,//,%,**,log,exp等运算,矩阵乘法运算,多维tensor乘法相关运算

import tensorflow as tf
import numpy as nptf.__version__#element-wise运算,对应元素的+,-,*,/,**,//,%
tensor1 = tf.fill([3,3], 4)
tensor2 = tf.ones([3,3], dtype=tf.int32)
print(tensor1)
print(tensor2)print("========tensor1 + tensor2=========\n", tensor1 + tensor2)
print("========tensor1 - tensor2=========\n", tensor1 - tensor2)
print("========tensor1 * tensor2=========\n", tensor1 * tensor2)
print("========tensor1 / tensor2=========\n", tensor1 / tensor2)
print("========tensor1 // tensor2=========\n", tensor1 // tensor2)
print("========tensor1 % tensor2=========\n", tensor1 % tensor2)
#计算tensor的元素的2次方
print("========tensor1 ** 2=========\n", tensor1 ** 2)
print("========tf.pow(tensor1, 2)===\n", tf.pow(tensor1, 2))
#开根号,tf.sqrt()
tensor1 = tf.cast(tensor1, dtype=tf.float32)
print("========tf.sqrt(tensor1)=====\n", tf.sqrt(tensor1))#log操作,tf.math.log,注意这个函数以e为底
tensor = tf.ones([3,3], dtype=tf.float32)
print("========log(tensor)============\n", tf.math.log(tensor))
#如果要实现以任意数为底数,需要使用换底公式,下面的例子计算了以2为底,对tensor1做log操作
print("========log2(tensor1)==========\n", tf.math.log(tensor1) / tf.math.log(2.))#指数操作,tf.exp,计算e的n次方
print("========exp(tensor1)===========\n", tf.exp(tensor1))#矩阵乘法
#两个2x2矩阵相乘
matrix1 = tf.fill([2,2], 1)
matrix2 = tf.fill([2,2], 2)
print(matrix1, "@", matrix2)
print("==========matrix1@matrix2=========\n", matrix1 @ matrix2)
#也可以用tf.matmul()
print("==========tf.matmul(matrix1, matrix2)=\n", tf.matmul(matrix1, matrix2))#多维tensor乘法
tensor1 = tf.ones([4, 2, 5])
tensor2 = tf.ones([4, 5, 1])
#相乘结果是一个[4,2,1]形状的tensor,具体操作是对应2*5和5*1的matrix相乘
print("==========tensor1@tensor2==========\n", tensor1@tensor2)
#相乘结果是一个[4,2,3,2]形状的tensor,具体操作是对应3*6和6*2的matrix相乘
tensor1 = tf.ones([4,2,3,6])
tensor2 = tf.ones([4,2,6,2])
print("==========tensor1@tensor2==========\n", tensor1@tensor2)
#使用broadcasting
tensor1 = tf.ones([4,2,3])
tensor2 = tf.ones([3,2])
#可以调用broadcast_to扩展,也可以直接用'@'运算符
#tensor2 = tf.broadcast_to(tensor2, [4,3,2])
print("==========tensor1@tensor2==========\n", tensor1@tensor2)

        运行结果:

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

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

相关文章

Plane Geometry (Junior High School)

初中平面几何, ACBD, ∠CAD60,∠C40,求∠B Vertical Calculation-CSDN博客 Rectangular Area-CSDN博客

SpringMVC入门案例

引言 Spring MVC是一个基于MVC架构的Web框架,它的主要作用是帮助开发者构建Web应用程序。它提供了一个强大的模型驱动的开发方式,可以帮助开发者实现Web应用程序的各种功能,如请求处理、数据绑定、视图渲染、异常处理等。 开发步骤 1.创建we…

大师学SwiftUI第6章 - 声明式用户界面 Part 4

步进器视图 ​​Stepper​​视图创建一个带递增和递减按钮的控件。该结构体提供了多个初始化方法,包含不同的配置参数组合。以下是最常用的一部分。 Stepper(String, value: Binding, in: Range, step: Float, onEditingChanged: Closure):此初始化方法…

【树莓派】网线远程连接电脑和树莓派,实现SSH连接

目录 1、硬件连接; 2、电脑端: 3、查找树莓派的IP地址 4、开启树莓派的SSH接口 5、putty 6、命令行 参考文章 通过网线连接笔记本与树莓派 开启SSH和VNC功能 无显示器安装树莓派 实现:打开putty输入树莓派地址使用ssh方式登陆&…

Vue 2生命周期已达终点,正式结束使命

Vue.js是一款流行的JavaScript框架,拥有广泛的应用和开发者社区。自Vue.js 2发布以来,它在前端开发中扮演了重要角色,并且被广泛采用。然而,技术的发展是无法阻挡的,随着2024年的到来,Vue 2的生命周期也走到…

基于深度学习的时间序列算法总结

1.概述 深度学习方法是一种利用神经网络模型进行高级模式识别和自动特征提取的机器学习方法,近年来在时序预测领域取得了很好的成果。常用的深度学习模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元&a…

华为设备NAT的配置

实现内网外网地址转换 静态转换 AR1: sys int g0/0/0 ip add 192.168.10.254 24 int g0/0/1 ip add 22.33.44.55 24 //静态转换 nat static global 22.33.44.56 inside 192.168.10.1 动态转换 最多有两台主机同时访问外网 AR1: sys int g0/0/0 ip add…

44.5K Star,简单易用自动化运维监控工具

Hi,骚年,我是大 G,公众号「GitHub指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 今天介绍一个开源的自动化运维监控工具,它是一个轻量的开源…

【Ant Design of Vue】Modal.confirm无法关闭的bug

一、问题 在使用 Ant Design Vue 的 Modal.confirm 确认框时&#xff0c;出现了点击取消和确定后 Modal.confirm 确认框无法关闭的问题 二、代码 代码完全是 copy 的官网的代码&#xff0c;但是 copy 到本地后就会出现上述问题 <template><a-button click"sho…

Unity3D代码混淆方案详解

背景 Unity引擎使用Mono运行时&#xff0c;而C#语言易受反编译影响&#xff0c;存在代码泄露风险。本文通过《QQ乐团》项目实践&#xff0c;提出一种适用于Unity引擎的代码混淆方案&#xff0c;以保护代码逻辑。 引言 在Unity引擎下&#xff0c;为了防止代码被轻易反编译&a…

基于LLM大模型的结构化数据批量提取

在当今世界&#xff0c;越来越多的组织致力于数据驱动的决策。 然而&#xff0c;他们通常面临着从非结构化文本数据&#xff08;例如客户评论或反馈&#xff09;中提取有价值的见解的挑战。 这篇文章是为想要使用非结构化数据获得有用见解的数据科学家、分析师和决策者量身定制…

【CSP】2023年12月真题练习(更新到202312-2)

试题编号&#xff1a;202312-1试题名称&#xff1a;仓库规划时间限制&#xff1a;1.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 问题描述 西西艾弗岛上共有 n 个仓库&#xff0c;依次编号为 1⋯n。每个仓库均有一个 m 维向量的位置编码&#xff0c;用来表示仓库间的物…

【探索C++容器:vector的使用和模拟实现】

【本节目标】 1.vector的介绍及使用 2.vector深度剖析及模拟实现 1.vector的介绍及使用 1.1 vector的介绍 vertor文档介绍 1. vector是表示可变大小数组的序列容器。2. 就像数组一样&#xff0c;vector也采用连续存储空间来存储元素。也就是意味着可以采用下标对vector的元…

【控制篇 / 分流】(7.4) ❀ 03. 对国内和国际IP网段访问进行分流 ❀ FortiGate 防火墙

【简介】公司有两条宽带用来上网&#xff0c;一条电信&#xff0c;一条IPLS国际专线&#xff0c;由于IPLS仅有2M&#xff0c;且价格昂贵&#xff0c;领导要求&#xff0c;访问国内IP走电信&#xff0c;国际IP走IPLS&#xff0c;那么应该怎么做&#xff1f; 国内IP地址组 我们已…

4种方法用Python批量实现多Excel多Sheet合并

目录 方法一&#xff1a;使用pandas库 方法二&#xff1a;使用openpyxl库 方法三&#xff1a;使用xlrd和xlwt库 方法四&#xff1a;使用os和glob库 在数据处理中&#xff0c;经常需要将多个Excel文件中的多个工作表进行合并。以下介绍了4种方法&#xff0c;使用Python批量实…

sql中的explain关键字用法

在SQL中&#xff0c;使用EXPLAIN关键字可以获取查询的执行计划&#xff0c;以便进行性能优化和查询调优。执行计划提供了关于查询操作的详细信息&#xff0c;涵盖了多个表头字段&#xff0c;每个字段都提供了特定的信息。以下是explain表头字段解释&#xff1a; id&#xff1…

【NCRE 二级Java语言程序设计04】二级Java考试应用软件使用

目录 前言一、软件介绍和下载1.软件介绍和下载2.下载软件3.下载使用说明和示例教程 二、本地练习环境搭建1.解压启动2.自建Java应用程序3.Hello入门程序 三、NetBeans一般配置1.代码模板2.字体和颜色3.快捷键映射 总结 前言 &#x1f4dc;本专栏主要是分享自己备考全国计算机二…

以某轧钢厂为例浅谈电能管理系统

摘要&#xff1a;结合某轧钢厂的现状和电能管理软件的优势应用&#xff0c;在节能降耗方面利用电能管理软件对轧钢厂电能损耗进行实时监控&#xff0c;为实现能源优化配置和节能降耗管理提供了大量数据&#xff0c;从而为大型能耗企业的节能降耗实施奠定了基础。 关键词&#x…

k8s的对外服务ingress

1、service的作用体现在两个方面 &#xff08;1&#xff09;集群内部&#xff1a;不断跟踪pod的变化&#xff0c;更新deployment中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制 &#xff08;2&#xff09;集群外部&#xff1a;类似于负载均衡器&#xff…

MongoDB Compass当前版本及历史版本下载安装

mongoDB compass 当前版本下载 官网 https://www.mongodb.com/try/download/compass 官网下载一般只能下载最新版本。 github https://github.com/mongodb-js/compass MongoDB Compass与MongoDB的版本对应关系 MongoDB CompassMongoDB1.9.12MongoDB 2.6.11 Community