Pytorch Tutorial【Chapter 1. Basic operation of tensor】
Pytorch Tutorial
文章目录
- Pytorch Tutorial
- Chapter 1. Basic operation of tensor
- Reference
Chapter 1. Basic operation of tensor
本节介绍有关张量Tensor的基本操作
Tensor相当于numpy中的ndarrays
- 创建空
Tensor和全零Tensor,torch.zeros(d0,d1)类似于numpy.zeros(size),torch.empty(d0,d1)类似于numpy.empty(size)
x1 = torch.empty(2,2)
x2 = np.empty((2,2))
x2 = torch.zeros(2,2)
x4 = np.zeros((2,2))
print(x1)
print(x2)
print(x3)
print(x4)
tensor([[ 1.4013e-45, 0.0000e+00],[-4.2944e+22, 6.7683e-43]])
tensor([[0., 0.],[0., 0.]])
[[0. 0. 0.][0. 0. 0.][0. 0. 0.][0. 0. 0.][0. 0. 0.]]
[[0. 0.][0. 0.]]
- 创建随机
Tensor,torch.rand(d0,d1)相当于numpy.random.rand(d0,d1),rand表示随机变量服从uniform distribution,torch.randn(d0,d1)相当于numpy.random.randn(d0,d1),randn表示随机变量服从 normal distribution
y1 = torch.rand(2,2)
y2 = np.random.rand(2,2)
y3 = np.random.random((2,2))
print(y1)
print(y2)
print(y3)
tensor([[0.4407, 0.1455],[0.0214, 0.6033]])
[[0.91633254 0.74086994][0.11203967 0.78700098]]
[[0.89562162 0.63706194][0.07474063 0.94183217]]
- 手动创建
Tensor,torch.tensor()类似于numpy.array()
z1 = torch.tensor(np.random.rand(2,2))
z2 = np.array([2,2])
print(z1)
print(z2)
tensor([[0.8592, 0.2296],[0.3234, 0.0014]], dtype=torch.float64)
[2 2]
- 创建全一
Tensor,torch.ones(d0,d1)类似于numpy.ones(size)
c1 = torch.ones(2,2)
c2 = np.ones((2,2))
print(c1)
print(c2)
tensor([[1., 1.],[1., 1.]])
[[1. 1.][1. 1.]]
- 创建独热码
Tensor,torch.eye(d0,d1)类似于np.eye(d0,d1)
c1 = torch.ones(2,2)
c2 = np.ones((2,2))
print(c1)
print(c2)
tensor([[1., 1.],[1., 1.]])
[[1. 1.][1. 1.]]
- 获得
Tensor的size,tensor.size()返回tensor的shape
r = torch.eye(2,2)
print(r.size())
torch.Size([2, 2])
- 加法,使用
+与numpy类似
a1 = torch.eye(2,2)
a2 = torch.rand(2,2)
print(a1+a2)
b1 = np.eye(2,2)
b2 = np.random.rand(2,2)
print(b1+b2)
tensor([[1.1682, 0.4159],[0.5044, 1.4019]])
[[1.7929664 0.96477472][0.3380899 1.35091993]]
- 加法,使用
torch.add()与numpy.add()类似
a1 = torch.eye(2,2)
a2 = torch.rand(2,2)
print(torch.add(a1,a2))
b1 = np.eye(2,2)
b2 = np.random.rand(2,2)
print(np.add(b1,b2))
tensor([[1.5244, 0.8070],[0.2586, 1.1021]])
[[1.52558655 0.85622143][0.92030175 1.18823413]]
- 加法,
tensor.add(a,b,out=result),将加法的结果保存在预先开辟好的result张量中
result = torch.empty(3,3)
torch.add(a1,a2, out=result)
print(result)
result = torch.add(a1,a2)
print(result)
tensor([[1.8654, 0.8892, 0.9849],[0.4269, 1.3964, 0.7995],[0.2235, 0.3375, 1.3471]])
tensor([[1.8654, 0.8892, 0.9849],[0.4269, 1.3964, 0.7995],[0.2235, 0.3375, 1.3471]])
- 加法,in-place原地替换的做法
tensor.add_(),注:所有的in-place的做法都有一个_
a1 = torch.eye(3,3)
a2 = torch.eye(3,3)
a1.add_(a2)
print(a1)
tensor([[2., 0., 0.],[0., 2., 0.],[0., 0., 2.]])
- tensor改变形状,
tensor.reshape(size)与ndarrays.reshape(size)类似,但tensor.reshape(size)不是in-place的做法,ndarryas.reshape(size)也不是in-place的做法
a = torch.eye(4,4)
b = a.reshape(2,8)
print(a)
print(b)c = np.eye(4,4)
d = c.reshape(2,8)
print(c)
print(d)
tensor([[1., 0., 0., 0.],[0., 1., 0., 0.],[0., 0., 1., 0.],[0., 0., 0., 1.]])
tensor([[1., 0., 0., 0., 0., 1., 0., 0.],[0., 0., 1., 0., 0., 0., 0., 1.]])
[[1. 0. 0. 0.][0. 1. 0. 0.][0. 0. 1. 0.][0. 0. 0. 1.]]
[[1. 0. 0. 0. 0. 1. 0. 0.][0. 0. 1. 0. 0. 0. 0. 1.]]
- 使用
tensor.item()来获得 scalar tensor的值
a = torch.randn(3,3)
print(a)
print(a[0,0])
print(a[0,0].item())
tensor([[ 0.1261, -0.7185, 0.3167],[ 0.7252, 0.9447, 1.6690],[ 0.4250, -0.3057, 0.7201]])
tensor(0.1261)
0.126137375831604
Reference
参考教程
相关文章:
Pytorch Tutorial【Chapter 1. Basic operation of tensor】
Pytorch Tutorial 文章目录 Pytorch TutorialChapter 1. Basic operation of tensorReference Chapter 1. Basic operation of tensor 本节介绍有关张量Tensor的基本操作 Tensor相当于numpy中的ndarrays 创建空Tensor和全零Tensor,torch.zeros(d0,d1)类似于numpy…...
[环境配置]centos7安装vncserver
1. 首先,需要安装X Window System和GNOME桌面环境。可以通过以下命令进行安装: yum groupinstall "X Window System" yum groupinstall "GNOME Desktop" 2. 安装VNC服务器。可以通过以下命令进行安装: yum install ti…...
Excel功能总结
1)每一张表格上都打印表头 “页面布局”-->“打印标题”-->页面设置“工作表”页-->打印标题“顶端标题行” 如:固定第1~2行,设置成“$1:$2” 2)将页面内容打印在一页【缩印】 1.选好需要打印的区域,“页面布…...
用Rust实现23种设计模式之 组合模式
组合模式是一种结构型设计模式,它允许将对象组合成树状结构,并且能够以统一的方式处理单个对象和组合对象。以下是组合模式的优点和使用场景: 优点: 简化客户端代码:组合模式通过统一的方式处理单个对象和组合对象&a…...
opencv36-形态学操作-膨胀 cv2.dilate()
膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相反的,膨胀操作能对图像的边界进行扩张。膨胀操作将与当前对象(前景)接触到的背景点合并到当前对象内,从而实现将图像的边界点向外扩张。如果图像内两个对象的…...
8266 ESP-07模块的使用 以及详细介绍
esp8266系列 陶瓷天线 版本 详细介绍说明 最近使用8266的ESP-01S做了个数据无线收发装置,发现板载天线信号太弱,装上外壳后信号更弱,因此考虑能否使用带有外接天线的模块代替ESP-01S。经过在安可信官网搜索发现,ESP07、ESP07S、ES…...
Linux之 centos、Ubuntu 安装常见程序 (-) Mysql 5.7 版本和8.0版本
CentOS 安装 MySql 注意 需要有root权限 安装5.7版本 – 由于MySql并不在CentOS的官方仓库中,所以需要通过rmp命令: 导入MySQL仓库密钥 1、配置MySQL的yum仓库 配置yum仓库 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 安装…...
【IDEA+Spark Streaming 3.4.1+Dstream监控套接字流统计WordCount保存至MySQL8】
【IDEASpark Streaming 3.4.1Dstream监控套接字流统计WordCount保存至MySQL8】 把DStream写入到MySQL数据库中 Spark 3.4.1MySQL 8.0.30sbt 1.9.2 文章目录 【IDEASpark Streaming 3.4.1Dstream监控套接字流统计WordCount保存至MySQL8】前言一、背景说明二、使用步骤1.引入库2…...
Dcat Admin 入门应用指南
在现代的网络应用开发中,管理后台是不可或缺的一部分。它为开发者提供了一个方便管理和监控应用数据的界面。而 Dcat Admin 是一个强大的管理后台框架,它基于 Laravel 框架开发,提供了丰富的功能和灵活的扩展性。本文将带您深入了解 Dcat Adm…...
计算机视觉:替换万物Inpaint Anything
目录 1 Inpaint Anything介绍 1.1 为什么我们需要Inpaint Anything 1.2 Inpaint Anything工作原理 1.3 Inpaint Anything的功能是什么 1.4 Segment Anything模型(SAM) 1.5 Inpaint Anything 1.5.1 移除任何物体 1.5.2 填充任意内容 1.5.3 替换任…...
AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用)
AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用) 1. 前言2. 创建AWS账户3. EC23.1 启动 EC2 新实例3.1.1 入口3.1.2 设置名称 选择服务3.1.3 创建密钥对3.1.4 网络设置——安全组3.1.4.1 初始设置3.1.4.2 添加安全组规则(开放新端口&…...
Clickhouse 优势与部署
一、clickhouse简介 1.1clickhouse介绍 ClickHouse的背后研发团队是俄罗斯的Yandex公司,2011年在纳斯达克上市,它的核心产品是搜索引擎。我们知道,做搜索引擎的公司营收非常依赖流量和在线广告,所以做搜索引擎的公司一般会并行推…...
全球数据泄露事件增加近三倍
网络安全公司 Surfshark 的最新研究显示,2023 年第二季度共有 1.108 亿个账户遭到泄露,其中美国排名第一,几乎占 4 月至 6 月所有泄露事件的一半。 俄罗斯排名第二,西班牙排名第三,其次是法国和土耳其。 与 2023 年…...
【雕爷学编程】 MicroPython动手做(38)——控制触摸屏2
MixPY——让爱(AI)触手可及 MixPY布局 主控芯片:K210(64位双核带硬件FPU和卷积加速器的 RISC-V CPU) 显示屏:LCD_2.8寸 320*240分辨率,支持电阻触摸 摄像头:OV2640,200W像素 扬声器&#…...
钉钉微应用
钉钉微应用 在做钉钉微应用开发的时候,遇到了一些相关性的问题,特此记录下,有遇到其他问题的,欢迎一起讨论 调试工具 当我们基于钉钉开发微应用时,难免会遇到调用钉钉api后的调试,这个时候可以安装eruda…...
【 SpringSecurity】第三方认证方法级别安全
文章目录 SpringSecurity 第三方认证实现方法级别的安全 SpringSecurity 第三方认证 在登录网页时,时常有用其他账号登录的方式,它们能够让用户避免在Web站点特定的登录页上自己输入凭证信息。这样的Web站点提供了一种通过其他网站(如Facebo…...
达梦数据库在windows上的安装
前言 简单记录达梦数据库DM7在windows10上的安装过程 1 下载并安装安装包 官网登录后才能下载,建议先注册账户。 下载地址:产品下载-达梦数据 ,CPU选择x86,操作系统选择win64即可。解压安装包后,一路安装下去即可。…...
新手Vite打包工具的使用并解决yarn create vite报错
一、手动创建 1.创建vite-Demo文件夹 2.初始化 yarn init -y 3.安装vite yarn add -D vite 4.打包准备 说明:不需要在src下面创建,在vite-Demo文件夹创建 4.1index.js文件 document.body.insertAdjacentHTML("beforeend","<h1>…...
SpringMVC框架——First Day
目录 三层架构 MVC模型 SpringMVC 快速入门案例 SpringMVC的概述(了解) SpringMVC在三层架构的位置 SpringMVC的优势(了解) 创建SpringMVC的Maven项目 1.在pom.xml中添加所需要的jar包 2.在工程的web.xml中配置核心Spring…...
基于C++雪花算法工具类Snowflake -来自chatGPT
#include <iostream> #include <chrono> #include <stdexcept>class Snowflake { private:// 雪花算法的各个参数static constexpr int64_t workerIdBits 5;static constexpr int64_t datacenterIdBits 5;static constexpr int64_t sequenceBits 12;stati…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
