首页 > 其他分享 >学习笔记:Pytorch基础(一)--张量

学习笔记:Pytorch基础(一)--张量

时间:2025-01-19 14:00:19浏览次数:3  
标签:输出 tensor -- dtype torch 张量 Pytorch print

张量(Tensor)是 PyTorch 中的核心数据结构,用于存储和操作多维数组。相当于NumPy的ndarray(NumPy是python的一种开源的数据计算扩展,支持大量的维度数组和矩阵运算)。但是 PyTorch 的张量可以运行在不同的设备上,比如 CPU 和 GPU,这使得它们非常适合于进行大规模并行计算,特别是在深度学习领域。

张量定义

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

import torch

x = torch.empty(4,4)
print(x)

 输出:

tensor([[8.9634e-33, 7.1345e+31, 7.1118e-04, 1.7444e+28],
        [7.3909e+22, 1.8727e+31, 1.3179e+25, 7.7783e+31],
        [1.7743e+28, 2.0535e-19, 3.0478e+32, 2.7518e+12],
        [7.5338e+28, 1.8750e-19, 1.4609e-19, 7.5630e+28]])

创建一个随机初始化矩阵:

x = torch.rand(4,4)
print(x)

输出:

tensor([[0.3797, 0.2606, 0.0746, 0.6160],
        [0.1047, 0.2759, 0.8398, 0.1143],
        [0.9185, 0.8361, 0.6365, 0.2880],
        [0.3197, 0.3014, 0.0335, 0.3864]])

构造一个填满 0 且数据类型为 long 的矩阵:

x = torch.zeros(4,4, dtype=torch.long)
print(x)

输出:

tensor([[0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]])

直接从数据构造张量:

x = torch.tensor([4.5, 4])
print(x)

输出:

tensor([4.5000, 4.0000])

根据现有的 tensor 建立新的 tensor 。除非用户提供新的值,否则这些方法将重用输入张量的属性,例如 dtype 等:

x = x.new_ones(5, 3, dtype=torch.double)      # new_* methods take in sizes
print(x)


x = torch.randn_like(x, dtype=torch.float)    # 重载 dtype!
print(x)                                      # 结果size一致

输出:

tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]], dtype=torch.float64)
tensor([[ 0.7024,  0.1605,  0.8259],
        [-2.1536, -0.0927, -0.2898],
        [-0.2952,  1.0901, -0.6976],
        [-0.6405,  1.9940,  0.1737],
        [-0.6792,  1.0138,  0.9789]])

获取张量的形状:

print(x.size())

输出:

torch.Size([4,4])
运算--加法
y = torch.rand(4, 4)
print(x + y)             #形式一


print(torch.add(x, y))   #形式二

输出一样: 

tensor([[ 1.5010, -2.5263, -1.4662],
        [-0.0296, -2.1736,  1.2592],
        [ 0.6494, -0.0946, -0.7947],
        [ 0.0141, -0.2633,  1.7664],
        [ 0.4713, -0.7551,  0.8110]])

加法:给定一个输出张量作为参数:

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

输出同上哦! 

加法:原位/原地操作(in-place):

# adds x to y
y.add_(x)
print(y)

今日

标签:输出,tensor,--,dtype,torch,张量,Pytorch,print
From: https://blog.csdn.net/2302_80795993/article/details/145242012

相关文章

  • leetcode11. 盛最多水的容器,双指针法
    leetcode11.盛最多水的容器给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例1:输入:[1......
  • 计算机毕业设计Springboot洗衣店管理系统 基于SpringBoot的智能洗衣店管理系统 洗衣店
    计算机毕业设计Springboot洗衣店管理系统74t7o5qc(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着人们生活水平的提高和时间成本的增加,越来越多的人选择将洗衣服务外包给洗衣店。洗衣店行业逐渐发展壮大,但同时也面临着管理难题......
  • PID 控制算法(一):初识
            PID控制算法是工业控制中常见的一种反馈控制方法,用于保持某个系统的状态接近目标值。PID代表三种控制方式:比例(P)、积分(I)、微分(D)。        想象一下,你正在开车,目标是让车速保持在60km/h,然而道路上有很多变化,例如上坡、下坡、转弯等等。PID控制就像你......
  • 计算机毕业设计Springboot线上考试系统的设计与实现 基于Springboot的在线考试系统设
    计算机毕业设计Springboot线上考试系统的设计与实现vi4cf717(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着信息技术的迅猛发展,教育领域也在逐步实现信息化。线上考试系统作为这一趋势下的产物,能够充分利用计算机和网络资源,实......
  • 计算 SAMOut V3 在将词汇表从1万 增加到6千万的情况下能够减少多少参数
    当我们将词汇表从60,000,000(六千万)减少到10,000时,实际上是在缩小模型的词嵌入层及其共享的语言模型头(LMHead)的规模。这将导致参数量显著减少。我们可以通过以下步骤来计算具体的参数减少量。参数量减少计算假设条件:原词汇表大小......
  • icp算法学习笔记
    一、点云我们在做3D视觉的时候,处理的主要是点云,点云就是一些点的集合。相对于图像,点云有其不可替代的优势——深度,也就是说三维点云直接提供了三维空间的数据,而图像则需要通过透视几何来反推三维数据。而实际上点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐......
  • Airflow - Study Notes 3
       (.venv)frank@ZZHUBT:~/venvs/my_airflow_project$airflowconfigget-valuecoreexecutorSequentialExecutor         ......
  • jenkins + gogs + docker + nginx 完成自动化部署
    jenkins+gogs+docker+nginx完成自动化部署app安装部署1.docker-compose配置文件version:'3'services:nginx:image:nginx:latestports:-"80:80"volumes:-./nginx.conf:/etc/nginx/nginx.confdepends_on:-jen......
  • 费马定理以及逆元预处理
    #include<bits/stdc++.h>usingnamespacestd;staticconstintMOD=1000000007;//预先全局存放阶乘与逆阶乘的数组staticconstintMAXN=100000;//根据题意,n最多10^5longlongfact[MAXN+1],invFact[MAXN+1];//快速幂,用于求x^y%MODlonglongfastPow(lo......
  • 协议通道版iMessage蓝号检测,iMessages数据筛选,无痕检测是否开启iMessage服务
    一、实现iMessage数据检测的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写程序控制......