【Pytorch笔记】3.数学运算
深度之眼官方账号 - 01-03-mp4-张量操作与线性回归
torch.add()
功能:逐元素计算input+alpha×other
。
torch.add(input,alpha=1,other,out=None)
input:tensor;
alpha:other的系数,是个实数;
other:和input同样形状的tensor。
import torcht1 = torch.tensor([[2, 3], [4, 5]])
t2 = torch.tensor([[1, 1], [2, 2]])
t = torch.add(t1, alpha=2, other=t2)
print(t)
输出:
tensor([[4, 5],[8, 9]])
torch.sub()
功能:逐元素计算input-alpha×other
。
torch.sub(input,alpha=1,other,out=None)
input:tensor;
alpha:other的系数,是个实数;
other:和input同样形状的tensor。
import torcht1 = torch.tensor([[2, 3], [4, 5]])
t2 = torch.tensor([[1, 1], [2, 2]])
t = torch.add(t1, alpha=2, other=t2)
print(t)
输出:
tensor([[0, 1],[0, 1]])
torch.mul()
功能:逐元素计算 o u t i = i n p u t i × o t h e r i out_i=input_i \times other_i outi=inputi×otheri
torch.mul(input,other)
input:tensor;
other:和input同样尺寸的tensor。
other支持广播,即可以只向other传入一个数,torch利用广播机制变成同样尺寸的tensor。
import torcht1 = torch.tensor([[9, 12], [15, 18]])
t2 = torch.tensor([[3, 3], [2, 2]])
t = torch.mul(t1, other=t2)
print(t)
输出:
tensor([[27, 36],[30, 36]])
torch.div()
功能:逐元素计算 o u t i = i n p u t i o t h e r out_i=\frac{input_i}{other} outi=otherinputi
torch.div(input,other)
input:tensor;
other:和input同样尺寸的、元素不能为0的tensor。
other支持广播,即可以只向other传入一个数,torch利用广播机制变成同样尺寸的tensor。
import torcht1 = torch.tensor([[9, 12], [4, 6]])
t2 = torch.tensor([[3, 3], [2, 2]])
t = torch.div(t1, other=t2)
print(t)
输出:
tensor([[3., 4.],[2., 3.]])
torch.addcmul()
功能:逐元素计算 o u t i = i n p u t i + v a l u e × t e n s o r 1 i × t e n s o r 2 i out_i=input_i+value \times tensor1_i \times tensor2_i outi=inputi+value×tensor1i×tensor2i
torch.addcmul(input,value=1,tensor1,tensor2,out=None)
input:输入的tensor;
value:见公式,实数;
tensor1:和input相同形状的tensor,见公式;
tensor2:和input相同形状的tensor,见公式。
import torcht1 = torch.tensor([[2., 3.], [4., 5.]])
t2 = torch.tensor([[4., 6.], [8., 10.]])
t3 = torch.tensor([[2., 2.], [2., 2.]])
t = torch.addcmul(t1, value=2, tensor1=t2, tensor2=t3)
print(t)
输出:
tensor([[18., 27.],[36., 45.]])
torch.addcdiv()
功能:逐元素计算 o u t i = i n p u t i + v a l u e × t e n s o r 1 i t e n s o r 2 i out_i=input_i+value \times\frac{tensor1_i}{tensor2_i} outi=inputi+value×tensor2itensor1i。
torch.addcdiv(input,value=1,tensor1,tensor2,out=None)
input:输入的tensor;
value:见公式,实数;
tensor1:和input相同形状的tensor,见公式;
tensor2:和input相同形状但是元素中不能出现0的tensor,见公式。
注:input、tensor1、tensor2的内容需要是浮点型。如果使用整数会报如下错误:
RuntimeError: Integer division with addcdiv is no longer supported, and in a future release addcdiv will perform a true division of tensor1 and tensor2. The historic addcdiv behavior can be implemented as (input + value * torch.trunc(tensor1 / tensor2)).to(input.dtype) for integer inputs and as (input + value * tensor1 / tensor2) for float inputs. The future addcdiv behavior is just the latter implementation: (input + value * tensor1 / tensor2), for all dtypes.
import torcht1 = torch.tensor([[2., 3.], [4., 5.]])
t2 = torch.tensor([[4., 6.], [8., 10.]])
t3 = torch.tensor([[2., 2.], [2., 2.]])
t = torch.addcdiv(t1, value=2, tensor1=t2, tensor2=t3)
print(t)
输出:
tensor([[ 6., 9.],[12., 15.]])
torch.log()
功能:逐元素求解 o u t i = l o g e ( i n p u t i ) out_i=log_e(input_i) outi=loge(inputi)。
torch.log(input,out=None)
input:待求解的tensor。
import torcht1 = torch.tensor([[9., -12.], [15., 18.]])
t = torch.log(t1)
print(t)
输出:
tensor([[2.1972, nan],[2.7081, 2.8904]])
torch.log10()
功能:逐元素求解 o u t i = l o g 10 ( i n p u t i ) out_i=log_{10}(input_i) outi=log10(inputi)。
torch.log10(input,out=None)
input:待求解的tensor。
import torcht1 = torch.tensor([[9., -12.], [15., 18.]])
t = torch.log10(t1)
print(t)
输出:
tensor([[0.9542, nan],[1.1761, 1.2553]])
torch.log2()
功能:逐元素求解 o u t i = l o g 2 ( i n p u t i ) out_i=log_2(input_i) outi=log2(inputi)。
torch.log2(input,out=None)
input:待求解的tensor。
import torcht1 = torch.tensor([[8., -12.], [16., 18.]])
t = torch.log2(t1)
print(t)
输出:
tensor([[3.0000, nan],[4.0000, 4.1699]])
torch.exp()
功能:逐元素求解 o u t i = e i n p u t i out_i=e^{input_i} outi=einputi。
torch.exp(input,out=None)
input:待求解的tensor。
import math
import torcht1 = torch.tensor([[-2., 0.], [1., math.log(2.)]])
t = torch.exp(t1)
print(t)
输出:
tensor([[0.1353, 1.0000],[2.7183, 2.0000]])
torch.pow()
功能:逐元素求解 o u t i = x i e x p o n e n t i out_i=x_i^{exponent_i} outi=xiexponenti
torch.pow(input,exponent,out=None)
input:待求解的tensor。
exponent:与input相同形状的tensor。
如果exponent是一个数,torch会广播成一个和input相同形状的tensor。
import torcht1 = torch.tensor([[1., 2.], [3., 4.]])
t2 = torch.tensor([[3., 2.], [4., 2.]])
t3 = torch.pow(t1, 2.)
t4 = torch.pow(t1, t2)
print(t3)
print(t4)
输出:
tensor([[ 1., 4.],[ 9., 16.]])
tensor([[ 1., 4.],[81., 16.]])
tensor.abs()
功能:逐元素取绝对值, o u t i = ∣ i n p u t i ∣ out_i=|input_i| outi=∣inputi∣。
torch.abs(input,out=None)
input:待求解的tensor。
import torcht1 = torch.tensor([[1., -2.], [-3., 4.]])
t = torch.abs(t1)
print(t)
输出:
tensor([[1., 2.],[3., 4.]])
tensor.acos()
功能:逐元素求解 o u t i = c o s − 1 ( i n p u t i ) out_i=cos^{-1}(input_i) outi=cos−1(inputi)。
torch.acos(input,out=None)
input:待求解的tensor。
import torcht1 = torch.randn(4)
print(t1)
t = torch.acos(t1)
print(t)
输出:
tensor([ 0.5100, 0.1678, -0.0250, 0.3119])
tensor([1.0357, 1.4022, 1.5958, 1.2536])
torch.cosh()
功能:逐元素求解 o u t i = c o s h ( i n p u t i ) out_i=cosh(input_i) outi=cosh(inputi)
注: c o s h ( x ) = e x + e − x 2 cosh(x)=\frac{e^x+e^{-x}}{2} cosh(x)=2ex+e−x
torch.cosh(input,out=None)
input:待求解的tensor。
import torcht1 = torch.randn(4)
print(t1)
t = torch.cosh(t1)
print(t)torch.cosh(input,out=None)
输出:
tensor([-0.3447, -0.2875, -0.2717, -1.3635])
tensor([1.0600, 1.0416, 1.0371, 2.0828])
torch.cos()
功能:逐元素求解 o u t i = c o s ( i n p u t i ) out_i=cos(input_i) outi=cos(inputi)
torch.cos(input,out=None)
input:待求解的tensor。
import torcht1 = torch.randn(4)
print(t1)
t = torch.cos(t1)
print(t)torch.cosh(input,out=None)
输出:
tensor([-0.6443, -0.8991, 1.2432, -0.3162])
tensor([0.7995, 0.6223, 0.3218, 0.9504])
torch.asin()
功能:逐元素求解 o u t i = s i n − 1 ( i n p u t i ) out_i=sin^{-1}(input_i) outi=sin−1(inputi)
torch.asin(input,out=None)
input:待求解的tensor。
import torcht1 = torch.randn(4)
print(t1)
t = torch.asin(t1)
print(t)
输出:
tensor([-0.7372, -0.0238, -1.8213, -0.0912])
tensor([-0.8289, -0.0238, nan, -0.0913])
torch.atan()
功能:逐元素求解 o u t i = t a n − 1 ( i n p u t i ) out_i=tan^{-1}(input_i) outi=tan−1(inputi)
torch.atan(input,out=None)
input:待求解的tensor。
import torcht1 = torch.randn(4)
print(t1)
t = torch.atan(t1)
print(t)
输出:
tensor([ 0.3620, -0.6551, 1.0304, 2.1545])
tensor([ 0.3474, -0.5799, 0.8003, 1.1362])
torch.atan2()
功能:逐元素求解 o u t i = t a n − 1 ( i n p u t i o t h e r i ) out_i=tan^{-1}(\frac{input_i}{other_i}) outi=tan−1(otheriinputi)
torch.atan(input,other,out=None)
input:待求解的tensor。
import torcht1 = torch.randn(4)
print(t1)
t2 = torch.randn(4)
print(t2)
t = torch.atan2(t1, t2)
print(t)
输出:
tensor([ 1.9372, 0.7993, -1.4123, 0.4260])
tensor([-1.5106, 1.2147, -1.4479, 0.1674])
tensor([ 2.2331, 0.5820, -2.3686, 1.1963])
相关文章:
【Pytorch笔记】3.数学运算
深度之眼官方账号 - 01-03-mp4-张量操作与线性回归 torch.add() 功能:逐元素计算inputalphaother。 torch.add(input,alpha1,other,outNone)input:tensor; alpha:other的系数,是个实数; other࿱…...

MeterSphere 监控方案
前言:在部署MeterSphere之后,很多时候需要看下MeterSphere服务的监控信息,虽然有监控告警脚本,但还不是太直观,所以就结合 PrometheusExporterGrafana 部署一套完整的MeterSphere监控方案。 首先我们先罗列一下需要监控…...

elementui-plus+ts+axios使用el-upload组件自定义上传
1.前言: 使用element ui有很多便捷之处,但是由于是封装的组件和自己写还是有些许的不一样,这里主要解决几个问题。 1. 如何获取子组件实例 2. 如何自定义上传方法 2.两个问题: ⛺️ 获取子组件实例 实际上vue一般通过ref获取子组…...

【STM32单片机】u8g2智能风扇设计
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用按键、IIC OLED模块、DS18B20温度传感器、直流电机、红外遥控等。 主要功能: 初始化后进入温度显示界面,系统初始状态为手动…...

Java中的IO流的缓冲流
不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始,不如现在行动! 文章目录 🌴IO流体系结构🌴缓冲流1.提高效率的原理2.缓冲流的类型3.字符缓冲流两个特有方法 🌴总结 🌴IO流体系…...

7、SpringBoot_高级配置
一、配置高级 1.临时属性设置 1.1引出问题 如果目标电脑上8080端口已经使用,再次使用该端口会出现端口占用问题 解决方式 重新更换配置文件修改端口打包通过临时属性配置新端口更换配置文件 1.2添加临时属性配置 通过临时属性修改8080端口 java -jar 项目.jar…...

cocos2dx查看版本号的方法
打开文件:项目根目录\frameworks\cocos2d-x\docs\RELEASE_NOTES.md 知道引擎版本号的意义: 1.面试中经常被问到(面试官想知道你会不会查版本号,你会查也不一定会去看,如果你去看了说明你是一个有心人,或者想深入研究下…...

某高校的毕设
最近通过某个平台接的单子,最后Kali做的测试没有公开可以私聊给教程。 下面是规划与配置 1.vlan方面:推荐一个vlan下的所有主机为一个子网网段 连接电脑和http客户端的接口配置为access接口 交换机与交换机或路由器连接的接口配置为trunk接口---也可以…...
利用uvicorn、Starlette和pipeline将一个训练好的大模型发布成一个web服务
技术名词: 1、Starlette: 它是一个轻量级、高度可用性和可扩展性的Web框架,它专门为异步应用程序设计。 Starlette基于Python 3.6的异步/协程语法,具有快速响应性能和低延迟。你可以将它理解为Java的Spring。 安装:…...
贝赛尔曲线 - Vue3实现加入购物车抛物线效果组件
贝赛尔曲线 - Vue3实现加入购物车抛物线效果组件(可连续多个动画,动态回收DOM) 前言 在前几天的一次迭代中,我遇到了这么一个需求,模仿支付宝首页应用中心的编辑功能,支持编辑首页展示的应用,…...
AddressSanitizer failed to allocate 0xdfff0001000 (15392894357504) bytes解决方法
打开一个编译选项启用ASan的程序: AddressSanitizer failed to allocate 0xdfff0001000 (15392894357504) bytes然后程序启动失败。 原因: [cfe-dev] Question about Clang/LLVM addresssanitizer /proc/sys/vm/overcommit_memory是一个用于控制内存…...

Fortinet 2023上半年全球威胁态势研究报告:勒索软件检测成下降趋势,针对性攻击持续升温
近日,专注于推动网络与安全融合的全球网络安全领导者Fortinet(NASDAQ:FTNT),发布《2023上半年全球威胁态势研究报告》。报告显示,2023 年上半年勒索软件检出数量继续下降、高级持续性威胁(APT&a…...

MySQL ——多表连接查询
一、(左、右和全)连接概念 内连接: 假设A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录查询出来。A和B两张表没有主付之分,两张表是平等的。 关键字:inner join on 语句…...

前沿技术 --> 待定
一、可会可不会 1.1如何优雅的编写技术文档 网址: 如何优雅的编写技术文档? - YouTube...
Linux定时python脚本(crontab版本)
1.0 使用Linux系统命令 crontab 自带的定时命令2.0 crontab的使用 2.1 添加定时任务 crontab -e2.2 查看定时任务的完成情况 2.2.1 查看日志 tail -f /var/log/syslog | grep CRON 2.2.2 任务执行情况 grep CRON /var/log/syslog 2.3 定时任务的规则 每隔一分钟执行一次…...
修改 Ubuntu .cache 和 pip cache 默认路径
修改 Ubuntu .cache 和 pip cache 默认路径 非常不建议修改 .cache 默认路径,除非你知道修改后的影响。 执行下面命令进行修改, vi /root/.bashrc--- 追加 export XDG_CACHE_HOME/u01/.cache export PIP_CACHE_DIR/u01/.cache ---完结!...

【Java SE】Lambda表达式
目录 ♫什么是Lambda表达式 ♫Lambda表达式的语法 ♫函数式接口 ♫Lambda表达式的使用 ♫变量捕获 ♫ Lambda表达式在集合中的使用 ♪Collection的foreach(): ♪List的sort(): ♪Map的foreach() ♫什么是Lambda表达式 Lambda 表达式是 Java SE 8中一个…...

Kafka-UI
有多款kafka管理应用,目前选择的是github上star最多的UI for Apache Kafka。 关于 To run UI for Apache Kafka, you can use either a pre-built Docker image or build it (or a jar file) yourself. UI for Apache Kafka is a versatile, fast, and lightweight…...

Unity 制作登录功能02-创建和链接数据库(SQlite)
国际惯例:先看效果 1.SQlite是一种嵌入型数据库 在Unity开发游戏时使用SQLite有多种原因,以下是其中一些主要原因: 嵌入式数据库:SQLite是一个嵌入式数据库引擎,这意味着它不需要单独的服务器进程。这使得使用SQLite非…...
算法 岛屿数量-(递归回溯)
牛客网 BM57. 二维矩阵,值为1表示岛屿,0表示海洋,求海洋中岛屿数量。 解题思路: 遍历二维数组,值为1增加岛屿数量记数,同时对此位置进行单独递归遍历上下左右4个方向,将数组坐标范围内同时值为1的元素置…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...