【pytorch深度学习】torch-张量Tensor
torch-张量Tensor
文章目录
- torch-张量Tensor
- 1. 张量Tensor
1. 张量Tensor
- torch.tensor()
# 创建一个标量(0维张量)
scalar_tensor = torch.tensor(3.14)
# 创建一个向量(1维张量)
vector_tensor = torch.tensor([1, 2, 3])
# 创建一个矩阵(2维张量)
matrix_tensor = torch.tensor([[1, 2], [3, 4]])
# 创建一个3维张量
tensor_3d = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
- torch.zeros()-全零张量
zero_tensor = torch.zeros(3, 4) # 3行4列的全零矩阵
- torch.ones()-全一张量
ones_tensor = torch.ones(2, 3) # 2行3列的全一矩阵
- torch.full()-常数填充张量
constant_tensor = torch.full((2, 2), 7) # 2行2列的常数填充矩阵,值为7
- torch.eye()-单位矩阵
identity_matrix = torch.eye(3) # 3阶单位矩阵
- torch.arange()-等差数列张量
range_tensor = torch.arange(0, 10, 2) # 从0开始,步长为2,直到小于10
- torch.rand()-随机张量
rand_tensor = torch.rand(2, 3) # 2行3列的均匀分布随机矩阵
- torch.randn()-正态分布随机张量
randn_tensor = torch.randn(3, 3) # 3行3列的正态分布随机矩阵
- size()-形状
x = torch.rand(2, 3)
print(x.size()) # 输出: torch.Size([2, 3])
- dtype-数据类型指定及获取
x = torch.rand(2, 3, dtype=torch.float)
print(x.dtype) # 输出: torch.float32
- to()-GPU/CPU
if torch.cuda.is_available():device = torch.device("cuda") # GPU 设备
else:device = torch.device("cpu") # CPU 设备
x = x.to(device)
- randn_like()、zeros_like()、ones_like()-已知张量创建形状类似的张量
t = torch.randn(3,3)
t1 = torch.randn_like(t)
- 张量方法(它们有很多参数可选,要用再查):
t = torch.rand(3, 4, 5)
t.nelement() # 返回数量
t.size() # 返回尺寸,元组
t.shape # 返回形状,元组
t.size(2) # 返回指定维度大小
t.view(12, 5)
t.view(-1, 6).shape
t.view(-1, 6).transpose(1, 0).shape
- 索引和切片
张量的索引和切片和列表基本是一样的,有步长、起点、终点等。例如:
t[0,0,2] t[:,1,1] t>0 t[t > 0]
- 张量运算
# 加法运算
add_res = x + y
# 减法运算
sub_res = x - y
# 乘法运算
mul_res = x * y
# 除法运算
div_res = x / y # 加法运算
add_res = torch.add(x, y)
# 减法运算
sub_res = torch.subtract(x, y)
# 乘法运算
mul_res = torch.mul(x, y)
# 除法运算
div_res = torch.div(x, y)
- 转置:
x = torch.randn(3, 4)
y = x.transpose(0, 1)
下面是对张量操作的总结,不含代码,要用再查:
- 创建操作:用于构造张量的函数,如ones()和from_numpy()
- 修改操作:用于直接修改张量
- 索引、切片、连接、转换操作:用于改变张量的形状、步长或内容的函数
- 数学操作:通过运算操作张量内容的函数:
- 逐点操作:通过对每个元素分别应用一个函数来得到一个新的张量,如abs()、cos()
- 归约操作:通过迭代张量来计算聚合值的函数,如mean()
- 比较操作:在张量上计算数字谓词的函数
- 频谱操作:在频域上进行变换和操作的函数
- 其他操作:作用于向量的特定函数,或对矩阵进行操作的函数
- BLAS和LAPACK操作:符合基本线性代数子程序规范的函数,用于标量、向量—向量、矩阵—向量、矩阵—矩阵操作
- 随机采样:从概率分布中随机生成值的函数
- 序列化:保存和加载张量的函数
- 并行化:用于控制并行CPU执行的线程数的函数。
与·numpy的互操作:
# 从张量points得到一个numpy数组
points_np = points.numpy()# 从numpy得到一个pytorch张量
points = torch.from_numpy(points_np)
相关文章:
【pytorch深度学习】torch-张量Tensor
torch-张量Tensor 文章目录 torch-张量Tensor1. 张量Tensor 1. 张量Tensor torch.tensor() # 创建一个标量(0维张量) scalar_tensor torch.tensor(3.14) # 创建一个向量(1维张量) vector_tensor torch.tensor([1, 2, 3]) # 创…...
odoo16前端框架源码阅读——rpc_service.js
odoo16前端框架源码阅读——rpc_service.js 先介绍点背景知识,这样方便阅读代码。 一、 JSONRPC的规范 https://www.jsonrpc.org/specification 中文翻译版本:https://wiki.geekdream.com/Specification/json-rpc_2.0.html JSON-RPC是一个无状态且轻…...

Nat. Med. | 成年人的城市生活环境对心理健康的影响
今天为大家介绍的是来自Jiayuan Xu和Gunter Schumann团队的一篇论文。城市居民暴露于许多可能相互结合和相互作用的环境因素,这些因素可能影响心理健康。目前尚未有工作尝试建模城市生活的复杂实际暴露与大脑和心理健康之间的关系,以及这如何受遗传因素调…...

stm32 WIFI模块_8266使用
使用以上配置可以正常回应,其中无论勾选或者不勾选DTR/RTS都可以得到正常回应 ATCWMODE?表示查询当前WiFi状态是处于热点模式(AP模式)或者是连接其他WiFi的那个模式。通过图片看出这个符号不能省略。 设置AP热点命令格式:ATCWSAP…...
【C/C++】malloc 或者 new 动态分配内存
1. malloc 是一个在 C 语言中用于动态分配内存的函数。 通过 malloc 函数,我们可以在程序运行时请求一定大小的内存块,然后将该内存块用于存储数据。 malloc 函数的声明如下: void* malloc(size_t size);它接受一个参数 size,表…...

如果让你重新开始学 C/C++,你的学习路线会是怎么选择?
1. 第一阶段 学好 C 语言和 Linux 1.1 学好 C 语言 无论你是科班还是非科班,建议你一定要学好 C 语言,它应该作为你必须掌握好的语言。你要熟悉 C 语言的基本语法,包括: 顺序、条件、循环三大控制语句 C 中几大基元数据类型的用…...

PCL安装与使用
1 apt安装 ubuntu20.04及以上版本下可以直接通过apt方式安装pcl编译好的二进制文件,二进制安装的版本为1.10。 sudo apt update sudo apt install libpcl-dev 2 源码安装 在pcl的github上下载对应的版本进行安装: https://github.com/PointCloudLibrary/pcl/rel…...

力扣刷题-二叉树-对称二叉树
101 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 思路 我的思路…...
常见面试题-计算机网络相关
1.OSI 七层模型? OSI 七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP 五层模型:应用层、传输层、网络层、链路层、物理层 应用层 应用层是由网络应用程序使用的,是离用户最近的一层 应用层通过…...
leetcode做题笔记231. 2 的幂
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n 1 输出:tr…...

AI主播“败走”双11,想用AI省成本的商家醒醒吧,程序员不必担心失业,发展空间依旧很大
目录 1 2 3 “AI人”并不算是新鲜事,随着AI的发展,AI主播也开始悄悄进入到直播间中。 持续无间断的直播、比人工费便宜等优势,让很多商家选择了AI主播。 AI主播到底好不好用?终于在今年“双11”现出了原形。 1 AI主播没火过半年…...

◢Django 自写分页与使用
目录 1、设置分页样式,并展示到浏览器 2、模拟页码 3、生成分页 4、数据显示 5、上一页下一页 6、数据库的数据分页 7、封装分页 8、使用封装好的分页 建立好app后,设置路径path(in2/,views.in2),视图def in2(request): ,HTML: in2.html…...

某城高速综合管控大数据大屏可视化【可视化项目案例-04】
🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…...
如何在Linux下进行文件查看
cat 文本内容显示到终端 head 查看文件开头 tail 查看文件结尾 常用参数 -f 文件内容更新后,显示信息同步更新 wc 统计文件内容信息...

OSG练习:模仿Ventsim制作三维矿井智能通风系统
1、效果 2、计划内容 1) 三维场景的加载显示;已实现 2)矿井巷道建模及纹理;已实现 3)矿井基础数据采集及修正;已实现 4)通风网络解算算法;已实现 5)通风设备及设施模型制作;未实现 6)风流模拟效果 ;进行中 7)火灾模拟效果;未实现 8)巷道属性查看栏;未实现 9)…...

【数据结构】非递归实现二叉树的前 + 中 + 后 + 层序遍历(听说面试会考?)
👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&…...
32 Feign性能优化
2.3.Feign使用优化 Feign底层发起http请求,依赖于其它的框架。其底层客户端实现包括: •URLConnection:默认实现,不支持连接池 •Apache HttpClient :支持连接池 •OKHttp:支持连接池 因此提高Feign的…...

星岛专栏|从Web3发展看金融与科技的融合之道
11月起,欧科云链与香港主流媒体星岛集团开设Web3.0安全技术专栏,该专栏主要面向香港从业者、交易机构、监管机构输出专业性的安全合规建议,旨在促进香港Web3.0行业向安全与合规发展。 出品|欧科云链研究院 自2016年首届香港金融…...
什么是网络爬虫?
网络爬虫是一种自动化程序,可以自动地浏览网站并从网站上抽取数据。APP数据抓取实际上也是运用了网络爬虫的技术,只不过抓取的对象不是网站上的信息,而是手机APP上的数据。下面详细介绍APP数据抓取的过程。 1、确定数据需求 首先需要明确要抓…...

酷柚易汛ERP - 商品库存余额表操作指南
1、应用场景 商品库存余额表用于查询商品在各仓库的实际结存量、单位成本以及成本等明细。 2、主要操作 打开【仓库】-【商品库存余额表】,可筛选仓库、商品、商品类别,导出/打印等操作见【销货单】不再赘述。 3、分享操作 库存余额分享,…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...