当前位置: 首页 > news >正文

【Pytorch】学习记录分享1——Tensor张量初始化与基本操作

1. 基础资料汇总

资料汇总
pytroch中文版本教程
PyTorch入门教程
B站强推!2023公认最通俗易懂的【PyTorch】教程,200集付费课程(附代码)人工智能_机器
视频
1.PyTorch简介
2.PyTorch环境搭建
basic: python numpy pandas pytroch

在这里插入图片描述

theory: study mlp cnn transform rnn

model: AlexNet VGG ResNet Yolo SSD

2. Tensor张量初始化与基本操作(numpy对比)

2.1 tensor 创建的集中基本方式
import numpy as np
import torchnp_a = np.array([1,2,3]) #ndarrays
tensor_a = torch.tensor([1,2,3]) #tensor
# tensor function and computer
tensor_b = torch.empty(5,3)
tensor_c = torch.randn(5,3) #用于确定模型的输入维度,做数据头尾
tensor_d = torch.zeros(5,3)  #用于 x->y 训练的一个映射 神经网络y truth_label one_hot表示
tensor_e = torch.zeros(5,3,dtype= torch.long) # dtype 数据格式print("np_a",np_a)
print("tensor_a", tensor_a)
print("tensor_b", tensor_b)
print("tensor_c", tensor_c)
print("tensor_d", tensor_d)
print("tensor_e", tensor_e)

在这里插入图片描述

import torch#通过数据直接创建张量:
data = [[1, 2, 3], [4, 5, 6]]
tensor1 = torch.tensor(data)
print("tensor1",tensor1)#使用特定形状的全零张量:
import torch
tensor2 = torch.zeros(2, 3)
print("tensor2",tensor2)#使用特定形状的全一张量:
import torch
tensor3 = torch.ones(2, 3)
print("tensor3",tensor3)#利用随机数创建张量:
import torch
tensor4 = torch.rand(2, 3)
print("tensor4",tensor4)

在这里插入图片描述

2.2 修改tensor/numpy长度与维度
# 基于已经存在的 tensor进行操作
x = torch.tensor([1,2,3]) 
x.new_ones(5,3)  # 修改 x 的维度tensor_f = torch.randn_like(x,dtype=torch.float) # 修改x 的类型与维度
print("tensor_f = ", tensor_f)# 维度查看 np  shape   |  tensor size 层到另外一个层 矩阵相乘
np.array([1, 2, 3]).shape
torch.tensor([1,2,3]).size()

在这里插入图片描述

# 更改维度 np reshape 
y.size()y.view(15)y.view(15,1)y.view(-1,5) # -1 表示自动计算,根据总维度/5得到

在这里插入图片描述

2.3 取 tensor/numpy 元素
y = np.array([[1,2,3],[4,5,6]])np.array([[1,2,3],[4,5,6]])[0]
np.array([[1,2,3],[4,5,6]])[0,:] #":"表示不指定行,默认为该行所有np.array([[1,2,3],[4,5,6]])[:,0]
print(y[:,0])  # 取第一列
print(y[0,:])  # 取第一行y[3,0].item() # 常用 loss 反向传导 日志 打印查看 loss 是否减少 查看具体数值

在这里插入图片描述

2.4 numpy 对象的基本运算
import numpy as np# 加法
result_array_add = np.array([1, 2]) + np.array([3, 4])# 减法
result_array_sub = np.array([1, 2]) - np.array([3, 4])# 乘法
result_array_mul = np.array([1, 2]) * np.array([3, 4])# 除法
result_array_div = np.array([1, 2]) / np.array([3, 4])# 数乘
result_array_scalar_mul = 2 * np.array([3, 4])# 内积
result_array_dot = np.dot(np.array([1, 2]), np.array([3, 4]))# 外积
result_array_outer = np.outer(np.array([1, 2]), np.array([3, 4]))print("add = ", result_array_add)
print("sub = ", result_array_sub)
print("mul = ", result_array_mul)
print("div = ", result_array_div)
print("scalar_mul = ", result_array_scalar_mul)
print("dot = ", result_array_dot)
print("outer = ", result_array_outer)

在这里插入图片描述

2.5 tensor 对象的基本运算
import torch# 加法
result_tensor_add = torch.tensor([1, 2]) + torch.tensor([3, 4])# 减法
result_tensor_sub = torch.tensor([1, 2]) - torch.tensor([3, 4])# 乘法
result_tensor_mul = torch.tensor([1, 2]) * torch.tensor([3, 4])# 除法
result_tensor_div = torch.tensor([1, 2], dtype=torch.float) / torch.tensor([3, 4], dtype=torch.float)# 数乘
result_tensor_scalar_mul = 2 * torch.tensor([3, 4])# 内积
result_tensor_dot = torch.dot(torch.tensor([1, 2]), torch.tensor([3, 4]))# 外积
result_tensor_outer = torch.ger(torch.tensor([1, 2]), torch.tensor([3, 4]))print("add = ", result_tensor_add)
print("sub = ", result_tensor_sub)
print("mul = ", result_tensor_mul)
print("div = ", result_tensor_div)
print("scalar_mul = ", result_tensor_scalar_mul)
print("dot = ", result_tensor_dot)
print("outer = ", result_tensor_outer)

在这里插入图片描述

相关文章:

【Pytorch】学习记录分享1——Tensor张量初始化与基本操作

1. 基础资料汇总 资料汇总 pytroch中文版本教程 PyTorch入门教程 B站强推!2023公认最通俗易懂的【PyTorch】教程,200集付费课程(附代码)人工智能_机器 视频 1.PyTorch简介 2.PyTorch环境搭建 basic: python numpy pandas pytroch…...

Python数据科学视频讲解:Python的数据运算符

2.9 Python的数据运算符 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解2.9节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵盖数据科学应用的全流程,包括数据科…...

参数学习——糖果问题(人工智能期末复习)

之前看了好久都不知道这题咋写,后来看了这篇机器智能-高频问题:糖果问题,大概看明白了,其实主要围绕着这两个公式 光看公式也看不懂,还是要结合题目来 己知有草莓味和酸橙味两种类型的糖果,分别放入5种不同…...

【深度学习】注意力机制(六)

本文介绍一些注意力机制的实现,包括MobileVITv1/MobileVITv2/DAT/CrossFormer/MOA。 【深度学习】注意力机制(一) 【深度学习】注意力机制(二) 【深度学习】注意力机制(三) 【深度学习】注意…...

螺旋矩阵算法(leetcode第59题)

题目描述: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2:输入&#…...

SQL Server 服务启动报错:错误1069:由于登录失败而无法启动服务

现象 服务器异常关机以后,SQL Server服务无法启动了。 启动服务时报错: 错误1069:由于登录失败而无法启动服务 解决办法 我的电脑–控制面板–管理工具–服务–右键MSSQLSERVER–属性–登录–登陆身份–选择"本地系统帐户" 设置完成后&am…...

“ABCD“[(int)qrand() % 4]作用

ABCD[(int)qrand() % 4] 作用 具体来说: qrand() 是一个函数,通常在C中用于生成一个随机整数。% 4 会取 qrand() 生成的随机数除以4的余数。因为4只有四个不同的余数(0, 1, 2, 3),所以这实际上会生成一个0到3之间的随…...

Vue2面试题:说一下组件通信有哪些方式?

父传子 1、自定义属性 props:在父组件中,给子组件绑定一个自定义属性,在子组件中,通过props进行接收 2、$parent:直接访问父组件实例的属性和方法 3、$attrs:在父组件中,给子组件绑定一个自定义…...

C# 两个日期比较大小

文章目录 C# 两个日期比较大小直接比较大小工具类DateTime.Compare C# 两个日期比较大小 直接比较大小 string ed "2023-12-13 09:27:59.000";//过去式DateTime nowDateTime DateTime.Now;DateTime expirationDate Convert.ToDateTime(ed);//质保期 长日期DateT…...

路由基本原理

目录 一、路由器概述 二、路由器的工作原理 三、路由表的形成 四、路由配置 1.连接设备 2.进入系统模式 3.进入接口模式 4.配置网络 5.下一跳的设置 6.设置浮动路由 7.设置默认路由 一、路由器概述 路由器(Router)是一种用于连接不同网络或子…...

配置本地端口镜像示例

镜像概念 定义 镜像是指将指定源的报文复制一份到目的端口。指定源被称为镜像源,目的端口被称为观察端口,复制的报文被称为镜像报文。 镜像可以在不影响设备对原始报文正常处理的情况下,将其复制一份,并通过观察端口发送给监控…...

使用FluentAvalonia组件库快速完成Avalonia前端开发

前言 工欲善其事必先利其器,前面我们花了几篇文章介绍了Avalonia框架以及如何在Avalonia框架下面使用PrismAvalonia完成MVV模式的开发。今天我们将介绍一款重磅级的Avalonia前端组件库,里面封装了我们开发中常用的组件,这样就不用我们自己再写组件了。专注业务功能开发,提…...

JAVA实体类集合该如何去重?

JAVA实体类集合该如何去重? 最近在工作中经常遇到需要去重的需求,所以特意系统的来梳理一下 有目录,不迷路 JAVA实体类集合该如何去重?单元素去重方法一:利用Set去重方法二:利用java 8的stream写法&#xf…...

修改Element UI可清空Input的样式

如图所示&#xff0c;修改Input右侧的清空按钮位置&#xff1a; <el-input class"create-catalog-ipt"placeholder"请输入相关章节标题"v-model"currentCatalogTitle"clearable /> // SCSS环境 ::v-deep {.create-catalog-ipt {input {he…...

Java常用注解

文章目录 第一章、Java注解与元数据1.1&#xff09;元数据与注解概念介绍1.2&#xff09;Java注解的作用和使用1.3&#xff09;注解的分类 第二章、Mybatis框架常用注解2.1&#xff09;Mybatis注解概览2.2&#xff09;常用注解MapperScanMapperSelectInsertUpdateDeleteParam结…...

golang实现同步阻塞、同步非阻塞、异步非阻塞IO模型

一、同步阻塞IO模型TCP和HTTP示例 同步阻塞IO符合我们的直觉认知,应用程序从TCP连接接收数据缓冲区接受数据,如果没有数据就等待——此处就是阻塞,如果有数据需要把数据从内核空间读取到用户空间——此处就是同步。 在Go语言中进行同步阻塞IO编程TCP交互,可以使用标准库中…...

java SSM教师工作量管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教师工作量管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要…...

大数据技术之Hive(超级详细)

第1章 Hive入门 1.1 什么是Hive Hive&#xff1a;由Facebook开源用于解决海量结构化日志的数据统计。 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能。 本质是&#xff1a;将HQL转化成MapReduce程序 …...

NVMe over Fabrics with SPDK with iRDMA总结 - 1

1.0 Introduction简介 NVM Express* (NVMe*) drives are high-speed, low-latency, solid-state drives (SSDs), that connect over the server Peripheral Component Interconnect Express* (PCIe*) bus. NVM Express* (NVMe*) 硬盘是高速、低延迟的固态硬盘 (SSD),通过服…...

【PTA刷题】求链式线性表的倒数第K项(代码+详解)

文章目录 题目代码详解 题目 给定一系列正整数&#xff0c;请设计一个尽可能高效的算法&#xff0c;查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K&#xff0c;随后是若干非负整数&#xff0c;最后以一个负整数表示结尾&#xff08;该负数不算在序列内&#…...

RStudio 2026最新版下载:一键直达官网,解锁数据分析新体验

RStudio免费版安装包下载地址&#xff1a;RStudio安装包 RStudio 是 R 语言专用的集成开发环境&#xff0c;简单说就是 R 语言的 “超级工作台”。它不替代 R 语言&#xff0c;而是必须搭配 R 语言使用&#xff0c;负责把 R 语言的能力可视化、流程化、高效化。 RStudio 的核心…...

Obsidian Image Toolkit:终极图像管理解决方案

Obsidian Image Toolkit&#xff1a;终极图像管理解决方案 【免费下载链接】obsidian-image-toolkit An Obsidian plugin for viewing an image. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-image-toolkit Obsidian Image Toolkit 是一款专为 Obsidian 用户…...

终极免费桌面分区工具:NoFences让你的Windows桌面告别杂乱

终极免费桌面分区工具&#xff1a;NoFences让你的Windows桌面告别杂乱 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为Windows桌面上杂乱无章的图标而烦恼吗&#xff1…...

求职自动化工具箱:用爬虫与状态机构建高效求职管理系统

1. 项目概述&#xff1a;一个求职者的工具箱如果你正在找工作&#xff0c;或者未来某天需要找工作&#xff0c;你大概率会和我有一样的感受&#xff1a;整个过程繁琐、重复&#xff0c;且充满不确定性。从海投简历到追踪进度&#xff0c;从准备面试到复盘总结&#xff0c;每个环…...

YOLO26可运行项目,有上百个模块,都是我自己之前发SCI二区时,集成的一些模块,适合需要算法创新,模块改进的朋友。

智慧改进巡检-YOLO26可运行项目&#xff0c;有上百个模块&#xff0c;发SCI二区时&#xff0c;集成的一些模块&#xff0c;适合需要算法创新&#xff0c;模块改进的朋友。 目标检测&#xff0c;语义分割&#xff0c;关键点识别通用项目。 项目中的所有改进已经按功能类别进…...

Python try...except ImportError 语句详解

在Python编程中&#xff0c;ImportError 是与模块导入相关的核心异常。优雅地处理它&#xff0c;是编写健壮、可维护和跨平台代码的关键。try...except ImportError 结构正是实现这一目标的标准工具。本文将为你抽丝剥茧&#xff0c;从基础概念到高级实践&#xff0c;全面解析这…...

FanControl终极指南:免费开源的风扇控制神器,轻松解决Windows散热与噪音问题

FanControl终极指南&#xff1a;免费开源的风扇控制神器&#xff0c;轻松解决Windows散热与噪音问题 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https:…...

Windows平台QT BLE开发避坑指南:从环境搭建到稳定通信

1. Windows平台QT BLE开发环境搭建 在Windows平台上使用QT进行BLE开发&#xff0c;首先需要确保开发环境正确配置。我遇到过不少开发者因为环境问题卡在第一步&#xff0c;白白浪费好几天时间。这里分享几个关键点&#xff1a; 编译器选择是第一个坑。实测发现必须使用MSVC编译…...

ARMv8-AArch64 异常处理实战:从寄存器解析到调试技巧

1. ARMv8-AArch64异常处理入门指南 第一次接触ARMv8架构的异常处理时&#xff0c;我被那一堆寄存器搞得头晕眼花。ELR、ESR、FAR...这些缩写看起来就像天书一样。但经过几个实际项目的磨练后&#xff0c;我发现只要掌握几个关键点&#xff0c;异常处理其实并没有想象中那么难。…...

在线Graphviz图表编辑器:3步创建专业技术流程图

在线Graphviz图表编辑器&#xff1a;3步创建专业技术流程图 【免费下载链接】GraphvizOnline Lets Graphviz it online 项目地址: https://gitcode.com/gh_mirrors/gr/GraphvizOnline 还在为复杂的技术图表绘制而烦恼吗&#xff1f;GraphvizOnline作为一款革命性的在线G…...