pytorch工具——认识pytorch

目录

pytorch的基本元素操作

python 复制代码
from __future__ import print_function
import torch

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

python 复制代码
x=torch.empty(5,3)
print(x)

创建一个有初始化的矩阵

python 复制代码
x=torch.rand(5,3)
print(x)

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

python 复制代码
x=torch.zeros(5,3,dtype=torch.long)
print(x)

直接通过数据创建张量

python 复制代码
x=torch.tensor([2,5,3,5])
print(x)

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

python 复制代码
x=x.new_ones(5,3,dtype=torch.double)
print(x)

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

python 复制代码
y=torch.randn_like(x,dtype=torch.float)
print(y)

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

python 复制代码
print(x.size())

加法

第一种方法

python 复制代码
x=torch.randn(5,3)
y=torch.randn(5,3)
print(x+y)

第二种方法

python 复制代码
print(torch.add(x,y))

第三种方法

python 复制代码
result=torch.empty(5,3)
torch.add(x,y,out=result)
print(result)

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

python 复制代码
y.add_(x)
print(y)


注意

切片操作

python 复制代码
x[:,1]

改变张量的形状

python 复制代码
x=torch.randn(4,4)
y=x.view(16)
z=x.view(-1,8)
x.size(),y.size(),z.size()

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

python 复制代码
x=torch.randn(1)
print(x,x.item())

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

python 复制代码
a=torch.ones(5)
b=a.numpy()
a.add_(1)
print(a,b)
python 复制代码
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

python 复制代码
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))
相关推荐
第404号工位1 分钟前
离职退电脑前别只点“清空回收站”!手把手教你彻底抹除凭证与数字痕迹
linux·python·架构
数字化大讲堂4 分钟前
AI Agent 时代来临!WorkBuddy 引发思考,微程科技布局业务融合新方向
人工智能·科技
mit6.8245 分钟前
关于agent初学
人工智能
陈嘿萌6 分钟前
ACM MM 2026|告别密集交互!ProtoHGF-Net:基于原型超图的RGBT目标检测新范式
图像处理·人工智能·深度学习·目标检测·计算机视觉·学术研究与理论基础
FanfanZainuli8 分钟前
减肥APP智能化技术演进:从“内容推荐“到“AI驱动的个性化闭环“
人工智能·深度学习·机器学习
行走的陀螺仪11 分钟前
Claude Code 原生 Agent 编排配置与使用手册:Subagents + Agent Teams 双平台落地指南
人工智能
Metaphor69214 分钟前
使用 Python 在 Word 文档中添加、修改和删除变量
python·word
尘世中一位迷途小书童25 分钟前
和 AI 打交道会撞见的一整串词:从大模型到 Agent、RAG、MCP、Skill,一次串清
前端·人工智能
終不似少年遊*27 分钟前
【AI Coding实战方法论】从计划协作到架构护栏,一套能长期复用的工程流程
人工智能·python·团队开发·ai编程·ai coding·skills·上下文管理
lusklusklusk28 分钟前
Python 全局变量与局部变量区别——global 关键字、__main__ 块与作用域示例
开发语言·前端·python