pytorch工具——认识pytorch

news2024/12/28 18:17:01

目录

  • pytorch的基本元素操作
    • 创建一个没有初始化的矩阵
    • 创建一个有初始化的矩阵
    • 创建一个全0矩阵并可指定数据元素类型为long
    • 直接通过数据创建张量
    • 通过已有的一个张量创建相同尺寸的新张量
    • 利用randn_like方法得到相同尺寸张量,并且采用随机初始化的方法为其赋值
    • 采用.size()方法来得到张量的形状
    • 加法
    • 切片操作
    • 改变张量的形状
    • 如果张量中只有一个元素,可以用item()将值取出,作为一个python number
    • torch tensor和numpy array之间的互相转换
    • 关于cuda tensor:tensor可以用.to()方法将其移动到任意设备上

pytorch的基本元素操作

from __future__ import print_function
import torch

创建一个没有初始化的矩阵

x=torch.empty(5,3)
print(x)

在这里插入图片描述

创建一个有初始化的矩阵

x=torch.rand(5,3)
print(x)

在这里插入图片描述

在这里插入图片描述

创建一个全0矩阵并可指定数据元素类型为long

x=torch.zeros(5,3,dtype=torch.long)
print(x)

在这里插入图片描述

直接通过数据创建张量

x=torch.tensor([2,5,3,5])
print(x)

在这里插入图片描述

通过已有的一个张量创建相同尺寸的新张量

x=x.new_ones(5,3,dtype=torch.double)
print(x)

在这里插入图片描述

利用randn_like方法得到相同尺寸张量,并且采用随机初始化的方法为其赋值

y=torch.randn_like(x,dtype=torch.float)
print(y)

在这里插入图片描述

采用.size()方法来得到张量的形状

print(x.size())

在这里插入图片描述

加法

第一种方法

x=torch.randn(5,3)
y=torch.randn(5,3)
print(x+y)

第二种方法

print(torch.add(x,y))

第三种方法

result=torch.empty(5,3)
torch.add(x,y,out=result)
print(result)

第四种方式:原地置换(执行的是y=y+x)

y.add_(x)
print(y)

在这里插入图片描述
注意
在这里插入图片描述

切片操作

x[:,1]

在这里插入图片描述

改变张量的形状

x=torch.randn(4,4)
y=x.view(16)
z=x.view(-1,8)
x.size(),y.size(),z.size()

在这里插入图片描述

如果张量中只有一个元素,可以用item()将值取出,作为一个python number

x=torch.randn(1)
print(x,x.item())

在这里插入图片描述

torch tensor和numpy array之间的互相转换

a=torch.ones(5)
b=a.numpy()
a.add_(1)
print(a,b)

在这里插入图片描述

import numpy as np
a=np.ones(5)
b=torch.from_numpy(a)
np.add(a,1,out=a)
print(a,b)

在这里插入图片描述
注意
在这里插入图片描述

关于cuda tensor:tensor可以用.to()方法将其移动到任意设备上

windows
在这里插入图片描述
mac

if torch.backends.mps.is_available():
    device=torch.device('mps')
    #cpu上创建x,gpu上创建y
    x=torch.randn(1)
    y=torch.ones_like(x,device=device)
    x=x.to(device)
    #此时x,y都在gpu上
    z=x+y
    print(z)
    #再将z转移到cpu上
    print(z.to('cpu',torch.float32))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/783007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数值线性代数:知识框架

记录数值线性代数研究的知识框架。 软件包线性方程组直接法Guass消元法/LU分解、Cholesky分解 LAPACK oneAPI MKL ARPACK Octave 迭代法Jacobi迭代、SOR迭代、共轭梯度法最小二乘特征值/特征向量非对称幂法、QR、Arnoldi分解对称QR、Jacobi、二分法、分治法、SVD 参考资料 G…

【C语言day03】

参数a是指针,要接收地址,BD错误。参数b可以接收的是char*,而&c的类型是char(*)[10],C错误全局变量i,在main()中修改为5,第一次在prt()中执行循环输出三次*,i被修改为8,回到main(…

MyBatis学习笔记——3

MyBatis学习笔记——3 一、MyBatis小技巧1.1、#{}和${}1.2、typeAliases1.3、mappers1.4、插入数据时获取自动生成的主键 二、MyBatis参数处理2.1、单个简单类型参数2.2、 Map参数2.3、实体类参数2.4、多参数2.5、 Param注解(命名参数)2.6、 Param源码分…

网络安全(黑客)就业分析指导

一、针对网络安全市场分析 市场需求量高;则是发展相对成熟入门比较容易。所需要的技术水平国家政策环境 对于国家与企业的地位愈发重要,没有网络安全就没有国家安全 更有为国效力的正义黑客—红客联盟 可见其重视程度。 需要掌握的知识点偏多 外围打点…

【全面解析】Windows 如何使用 SSH 密钥远程连接 Linux 服务器

创建密钥 创建 linux 服务器端的终端中执行命令 ssh-keygen,之后一直按Enter即可,这样会在将在 ~/.ssh/ 路径下生成公钥(id_rsa.pub)和私钥(id_rsa) 注意:也可以在 windows 端生成密钥,只需要保证公钥在服务器端,私钥…

30天自制操作系统 day 1 写一个可以在没有操作系统的计算机上输出字符串的程序,并在计算机上运行

day 1 工具:qemu 模拟器 今日任务 计算机启动后,在屏幕打印一串字符串。 理论 显示字符的原理 把一些机器指令写在第一扇区。通过int 0x10中断,让显卡在屏幕上显示字符。只需要在0x10之前按照规定准备好寄存器,显卡就能正确…

2020年下半年系统架构设计师考试案例分析真题(参考答案)

试题一 1、阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。 [说明] 某公司拟开发--套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。该系统的重要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管理等…

Spring数据源

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:JavaEE、Spring 目录 1、简介2、作用3、开发步骤3.1、导入坐标3.2、创建对象c3p0druid提取jdbc.properties读取配…

【iOS】App仿写--3GShare

文章目录 前言一、账号界面二、主页界面二、搜索界面三、文章界面四、活动界面五、我的界面总结 前言 这周写了3GShare的demo,这是一个十分麻烦的demo,比网易云需要设计的知识更多,特此撰写一下博客记录总结 一、账号界面 这里账号界面主要…

SourceTree使用ssh密钥

设置Git的user name和email: $ git config --global user.name "xxx" $ git config --global user.email "xxx.mailxxx.com".检查是不是已经存在密钥(能进去说明已经存在,就删掉文件夹,重新创建)…

SPSS数据文件的结构重组

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件可在个人主页—…

python:GEDI 波形数据提取

作者:CSDN @ _养乐多_ 在这篇博客中,我们将介绍如何使用 Python 处理和可视化 GEDI(Global Ecosystem Dynamics Investigation)激光雷达数据。GEDI 是 NASA(美国国家航空航天局)推出的激光雷达地球观测任务,用于获取全球各地生态系统的三维结构信息。本文将以提取研究区…

VSCode同时编译多个C文件

一.环境说明 1.系统:Ubuntu 22.04.2 LTS 2.Visual Studio Code: 1.80.1 二.问题描述 今天使用VSCode编译《Programming Abstractions In C》书中的gymjudge.c代码时遇到错误,错误提示为: (base) codistspc:~/projects/Programming-Abstracti…

Ubuntu下打开QtCreator环境变量LD_LIBRARY_PATH与终端不一致

问题描述: 在unbuntu下使用QtCreator编译、运行程序时,总是出现XXX.so: cannot open shared object file: No such file or directory这类问题,但是在终端中编译或者运行程序则不会出现这些问题。在网上查了好久才明白QtCreator在打开时&…

【Visual Studio】Qt 在其他 cpp 文件中调用主工程下文件中的函数

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 还整了一个如何在其他文件中调用 ui 控件的文章,感兴趣可以看:【Visual Studio】Qt 在其他 cpp 文件中调用操作 ui 界面控件。 文章目…

机器学习实战10-基于spark大数据技术与机器学习的结合应用实战

大家好,我是微学AI,今天给大家介绍一下机器学习实战10-基于spark大数据技术与机器学习的结合应用实战,Spark是一种快速、通用的大数据处理框架。它是由加州大学伯克利分校AMPLab开发。Spark提供了一个分布式计算的平台,可以在集群…

计算机组成与体系结构 概述

文章目录 计算机组成与体系结构 概述计算机系统概述计算机系统的组成计算机层次结构 计算机性能评价 计算机组成与体系结构 概述 计算机系统概述 计算机系统的组成 计算机的基本部件: 运算器:ALU、GPRs(通用寄存器组)、标志寄…

Java编程教程-Java ObjectStreamClass

ObjectStreamClass作为类的序列化描述符。该类包含类的名称和serialVersionUID。 # 方法 # 示例 toString() It returns a string describing this ObjectStreamClass.Exampleimport java.io.ObjectStreamClass; import java.util.Calendar; public class ObjectStreamCl…

谷歌插件(Chrome扩展) “Service Worker (无效)” 解决方法

问题描述: 写 background 文件的时候报错了,说 Service Worker 设置的 background 无效。 解决(检查)方法: 检查配置文件(manifest.json) 中的 manifest_version 是否为 3。 background 中的…

深入探索Spring的Bean注入:四种方式解析与循环依赖探讨

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…