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.mzph.cn/news/631588.shtml

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

相关文章

虚化边框背景,让视频不再单调乏味

在繁忙的都市中,我们每天都在为了生活而奔波。有时,我们希望有一个地方,可以让我们暂时远离喧嚣,沉浸在自己的小世界里。而现在,有了这款全新的视频编辑软件——视频剪辑高手,你不仅可以轻松制作出专业级的…

Mac ❀ 如何在MacOS上安装pip软件包

文章目录 1. 安装命令2. 测试 1. 安装命令 # 下载 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 安装 python3 get-pip.py2. 测试 pip -h

Docker篇之修改docker默认磁盘占用目录

一、前言 通常情况下,当我们默认安装docker服务时,在不指定默认存储路径时,docker会自动创建目录,经常会出现打满根目录的情况。 默认存储路径为:/var/lib/docker 下 可通过如下进行查询: docker info输出…

易飞ERP抛转钉钉签核,并自动审核易飞单据

支持易飞ERP所有单据送签到钉钉 (v: rainholy) 1、钉钉界面 2、易飞ERP单据配置 3、钉钉审批完后,自动审核易飞ERP单据

技术视角看Metis未来发展潜力

基本情况 Metis是Optimistic Rollup开发的layer2,于21年主网上线,是最早的上线Rollup的二层网络。并于24年升级为将Optimistic Rollup 架构与零知识证明zk相结合的Hybrid Rollup。 排序器现状 对于每个layer2,用户的交易数据都需要传输到主网ETH上。原则上,用户的交易数…

JAVA代码学习(下)

2023年将会持续于B站、CSDN等各大平台更新,可加入粉丝群与博主交流:838681355,为了老板大G共同努力。 【商务合作请私信或进群联系群主】 六、集合、泛型、枚举 6.1 集合 Java 提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类…

登录页添加验证码

登录页添加验证码 引入验证码页面组件&#xff1a;ValidCode.vue <template><div class"ValidCodeContent" style""><divclass"ValidCode disabled-select":style"width:${width}; height:${height}"click"refre…

手把手教你写 Compose 动画 -- 状态转移型动画 API:animate*AsState()

Jetpack Compose 提供了一系列功能强大且可扩展的 API&#xff0c;可用于在应用界面中轻松实现各种动画效果。这一系列文章会逐个介绍所有的动画 API&#xff0c;通过最直观的 Demo 示例&#xff0c;手把手教你怎么写动画以及带你了解动画背后的原理。 &#x1f4d1; 手把手教你…

Unreal Engine(UE5)中构建离线地图服务

1. 首先需要用到3个软件&#xff0c;Unreal Engine&#xff0c;gis office 和 bigemap离线服务器 Unreal Engine下载地址:点击前往下载页面 Gis office下载地址:点击前往下载页面 Bigemap离线服务器 下载地址: 点击前往下载页面 Unreal Engine用于数字孪生项目开发&#x…

计算机网络、浏览器面试题

浏览器从输入url到呈现发生了什么 1、根据输入的网址解析域名到对应的ip地址&#xff0c;查找顺序&#xff1a; 浏览器缓存、操作系统缓存、路由器缓存、DNS 服务器&#xff08;记录这域名和ip地址的映射&#xff09;、根服务器。 2、找到ip地址需要先建立TCP链接 客户端发送 …

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

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

开发安全之:Path Manipulation

Overview 攻击者可以控制 file_get_contents() 文件系统路径参数&#xff0c;借此访问或修改原本受保护的文件。 Details 当满足以下两个条件时&#xff0c;就会产生 path manipulation 错误&#xff1a; 1.攻击者能够指定某一文件系统操作中所使用的路径。 2. 攻击者可以…

js数组长度不够补0 且 够的话则截取到期望长度

当我们需要处理数组的长度不够的情况时&#xff0c;可以通过补0来完成&#xff1b;数组长度够的情况下&#xff0c;需要截取期望的长度。 在示例代码中&#xff0c;我们定义了一个函数padArrZeroSubLength 它接受两个参数&#xff1a;原始数组和期望的长度。 1&#xff09;函…

【Android】为什么在子线程中更新UI不会抛出异常

转载请注明来源&#xff1a;https://blog.csdn.net/devnn/article/details/135638486 前言 众所周知&#xff0c;Android App在子线程中是不允许更新UI的&#xff0c;否则会抛出异常&#xff1a; android.view.ViewRootImpl$CalledFromWrongThreadException: Only the origin…

【Ubuntu18.04安装Labelme】

Ubuntu18.04安装Labelme 1 安装Anaconda并创建conda环境2 安装依赖3 安装Labelme4 安装验证 1 安装Anaconda并创建conda环境 Anaconda3安装教程&#xff1a;https://blog.csdn.net/dally2/article/details/108206234 "ctrlaltt"快捷键打开终端&#xff0c;创建conda…

数据机房中智能小母线与列头柜方案的对比分析

0引言 近年来&#xff0c;我国信息技术行业发展十分迅猛&#xff0c;得益于国家政策的大力支持&#xff0c;政府金融、互联网公司、运营商等客户都在不断地新建和升级数据中心&#xff0c;以匹配其数据业务的增长速度。我国数据中心IT市场一直保持着连续快速增长的态势。国内数…

橘子学Mybatis07之Mybatis关于缓存的设计

很逆天的一件事是&#xff0c;我上一次发mybatis是在2022年10月15号&#xff0c;然后直到今天才开始总结下一篇Mybatis的东西。一年里面忙成那啥了&#xff0c;而且重心都投入在了Elasticsearch的学习上面&#xff0c;基本一年下来都在搞ES&#xff0c;并且考下了ECE认证&#…

【Poco库源码解析】Poco库中的通知

1、介绍 PocoPocoPoco 中的通知&#xff0c;是消息源通过中间载体将消息发送给观察者&#xff0c;通知可以分为 同步通知和异步通知。 下图是同步通知&#xff0c;消息发送流程&#xff1a; 2.同步通知 2.1 消息 class Notification: public RefCountedObject { public:ty…

生产环境LVM磁盘扩容

使用df -Th 命令查看磁盘信息 ,可以看到当前LVM逻辑卷容量是38G [rootZ ~]# df -TH 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 38G 2.4G 36G 7% / devtmpfs devtmpfs 1.1G 0 1.1G …

使用屏幕捕捉API:一站式解决屏幕录制需求

随着科技的发展&#xff0c;屏幕捕捉API技术逐渐成为一种热门的录屏方法。本文将详细介绍屏幕捕捉API技术的原理、应用场景以及如何利用这一技术为用户提供便捷、高效的录屏体验。 在线录屏 | 一个覆盖广泛主题工具的高效在线平台(amd794.com) https://amd794.com/recordscre…