当前位置: 首页 > 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;该负数不算在序列内&#…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...