pytorch学习笔记4--pytorch数据类型

Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因 常见原因-1 一般来说,出现NaN有以下几种情况: 相信很多人都遇到过训练一个deep model的过程中,loss突然变成了NaN。在这里对这个问题做一个总结: 1.如果在迭代的100轮以内,出现NaN,一般情况下的原因是因为你的学习率过高,需要降低学习率。可以不断降低学习率直至不出现NaN为止,一般来说低于现有学习率1-10倍即可。 2.如果当前的网络是类似于RNN的循环神经网络的话,出现NaN可能是因为梯度爆炸的原因,一个有效的方式是增加“gradient clipping”(梯度截断来解决) 阅读详情

pytorch 数据类型

pythonpytorch
IntIntTensor of size()
floatFloatTensor of size()
Int arrayIntTensor of size [d1,d2,…]
Float arrayFloatTensor of size [d1,d2,…]
stringont-hot or Embedding(Word2Vec,glove)

pytorch 内建的数据类型
在这里插入图片描述

  1. loss常常是一个shape为0的标量
  2. Dim 1 、 rank 1 :一维数组.
  3. Dim 1、rank 2: 二维数组
  4. 对于
    1. [ 1 6 9 7 9 0 9 5 0 ] \left[\begin{array}{cccc}1 & 6 & 9 \\ 7 & 9 & 0 \\9 & 5 & 0\end{array}\right] ⎣⎡​179​695​900​⎦⎤​
    2. dim : 2
    3. size/shape:[3,3]

创建tensor

将numpy数据转化为Tensor:
  1. torch.from_numpy(a)
从python list中导入数据:
  1. torch.tensor([2.,3.2])
  2. torch.tensor():接收的是现有的数据(标量或者是一个list)
  3. torch.Tensor 或者torch.FloatTensor():接收的是数据的维度,(也可以使用现有的数据,但是容易和数据维度混淆,不推荐使用):torch.FloatTensor(d1,d2,d3)
uninitialized

不使用初始化创建tensor,但是会出现torch.nan,torch.inf类数值,造成问题。

  1. Torch.empty(),里面的数值是随机的。

    1.     a = torch.empty([2,3])
          result:
          tensor([[0.0000e+00, 0.0000e+00, 3.1214e-22],
          [7.7492e-43, 0.0000e+00, 0.0000e+00]])
      
  2. Torch.IntTensor(d1,d2,d3),数值也是随机的

    1.   a = torch.IntTensor(1,2,3)
        结果:
        tensor([[[         0,          0, -922707328],
               [       471,          0,          0]]],dtype=torch.int32)
      
设置默认类型:

torch.set_default_tensor_type(torch.DoubleTensor)

  1. torch.tensor([1.2,3]).type()查看tensor类型
随机初始化,rand/rand_like,randint
  1. a = torch.rand(3,3)
  2. torch.rand_like(a):产生一个和a张量相同维度的维度
  3. torch.randint(min,max,[d1,d2])
    1.      a = torch.randint(1,10,[3,3])
           result:
               tensor([[4, 3, 4],
                       [4, 4, 1],
                       [3, 7, 2]])
      
正态分布:randn
  1. 均值为0,方差为1:N(0,1)
    1.     a = torch.randn(2,3)
      
         tensor([[ 2.3060,  1.1874, -2.4466],
                     [-0.1616, -0.3543, -2.2587]])      
      
  2. 自定义方差:torch.normal(mean=mean,std=std)
    1. a = torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
        result:
            tensor([ 0.2510, -0.4065,  0.7919,  0.3058,  0.6588,  0.3406, -0.4193, -0.0743,-0.0826,  0.0197])
      
全部赋值为相同的元素:

torch.full([d1,d2,…],num)

  1.  torch.full([2,3],7)
     result:
         tensor([[7., 7., 7.],
                  [7., 7., 7.]])
    
     标量:
     torch.full([],7)
     result:
         tensor(7.)
     数组:
         torch.full([1],7)
         result:
             tensor([7.])
    
torch.arange(start,end,step)
等分:

torch.linspace(min,max,num):从min,到max等分num个数字,包含max

  1. torch.linspace(1,10,steps=10)
    result:
    tensor([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])  
    
  2. torch.logspace(min,max,num)
torch.eye(d1,d2) or torch.eye(num)
  1. torch.eye(4,3)
    result:
     tensor([[1., 0., 0.],
         [0., 1., 0.],
         [0., 0., 1.],
         [0., 0., 0.]])
    torch.eye(3)
    result:
     tensor([[1., 0., 0.],
         [0., 1., 0.],
         [0., 0., 1.]])
    
randperm

生成随机索引,常用于样本和标签协同shuffle

  1.      torch.randperm(10)
         result:
             tensor([0, 1, 5, 9, 8, 7, 2, 4, 6, 3])
    
     example:
         a = torch.rand(2,3)# 样本
         b = torch.tensor([[1],[0]])# 标签
         print(a)
         print(b)
         idx = torch.randperm(2)
         print(a[idx])
         print(b[idx])
    
        result:
        tensor([[0.5678, 0.4272, 0.5417],
                 [0.0929, 0.9854, 0.2113]])
         tensor([[1],
                 [0]])
         tensor([[0.0929, 0.9854, 0.2113],
                 [0.5678, 0.4272, 0.5417]])
         tensor([[0],
                 [1]])   
    
    

索引切片

普通切片
隔行采样:
  1. a[:,:,0:28:2,0:28:2]
  2. a[:,:,::2,::2]
指定具体索引采样
  1. new_tensor = torch.index_select(tensor,dim,indeces)
  2.   a = torch.rand(4,3,28,28)
      indices = torch.LongTensor([0,2])
      torch.index_select(a, 0,indices)
    
select by … :tensor[…]
  1.   a = torch.rand(4,3,28,28)
      print(a[...].shape)
      print(a[0,...].shape)
      print(a[:,1:,...].shape)
      print(a[0,...,::2].shape)
     result:
         torch.Size([4, 3, 28, 28])
         torch.Size([3, 28, 28])
         torch.Size([4, 2, 28, 28]) 
         torch.Size([3, 28, 14])
    
select by mask
  1. x = torch.randn(3,4)
    
    tensor([[-0.6237,  0.0166, -0.0689, -1.0247],
     [-0.4650, -0.1222, -1.0476, -0.6294],
     [ 1.4714, -2.7954,  1.0995, -1.4252]])
    
    mask = x.ge(0.5)
    
    tensor([[0, 0, 0, 0],
             [0, 0, 0, 0],
             [1, 0, 1, 0]], dtype=torch.uint8) 
    
    torch.masked_select(x,mask)
    
    tensor([1.4714, 1.0995])
    
take
  1. 先把多维tensor变成一维,然后按照index取值
  2.    src = torch.tensor([[4,5,3],[6,7,8]])
       torch.take(src,torch.tensor([0,2]))
    
       tensor([4, 3])
    

维度变换

View=reshape
  1.      a = torch.rand(4,1,28,28)
         a.view(4,28*28)
    
         tensor([[0.1783, 0.7374, 0.6013,  ..., 0.5440, 0.0668, 0.1665],
                 [0.0388, 0.7934, 0.7743,  ..., 0.1795, 0.5644, 0.6409],
                 [0.3364, 0.9005, 0.4570,  ..., 0.5787, 0.9630, 0.4332],
                 [0.3976, 0.6089, 0.2346,  ..., 0.8186, 0.7931, 0.4657]])
                 
         a.reshape(4,28*28)
         
         tensor([[0.1783, 0.7374, 0.6013,  ..., 0.5440, 0.0668, 0.1665],
                 [0.0388, 0.7934, 0.7743,  ..., 0.1795, 0.5644, 0.6409],
                 [0.3364, 0.9005, 0.4570,  ..., 0.5787, 0.9630, 0.4332],
                 [0.3976, 0.6089, 0.2346,  ..., 0.8186, 0.7931, 0.4657]])
    
Squeeze/unsqueeze
unsqueeze

注意:假如b是a的扩张,对b修改,会改变a的内容

a.shpe
torch.Size([4, 1, 28, 28])
a.unsqueeze(0).shape
torch.Size([1, 4, 1, 28, 28])
a.unsqueeze(-1).shape
torch.Size([4, 1, 28, 28, 1])
example:
    b = torch.rand(32)
    f = torch.rand(4,32,14,14)
    b = b.unsqueeze(1),unsqueeze(2).unsqueeze(0)
    : b.Size([1,32,1,1])
squeeze
b.shape
: torch.Size([1,32,1,1])

b.squeeze().shape
: torch.Size([32])

b.squeeze(0).shape
: torch.Size([32,1,1])

b.squeeze(1).shape
: torch.Size([1,32,1,1])
Transpose/t/permute
t 只能用于2D的矩阵
a = torch.randn(3,4)
a.t().shape
:torch.Size([4,3])
transpose

transpose会把数据的维度打乱,所以要用contiguous()

a.shape
: torch.Size([4,3,32,32])
a.transpose(1,3) #把1,3 维度调换
: torch.Size([4,32,32,3])
a1 = a.transpose(1,3).contiguous().view(4,3 * 32 * 32).view(4,32,32,3).transpose(1,3)

torch.all(torch.eq(a,a1)) # 如果所有数据都相同,返回1
: tensor(1,dtype=torch.uint8)

transpose的缺点:

b = torch.rand(4,3,28,32)# b c w h
b.transpose(1,3).shape
: torch.Size([4,32,28,3])# b c w h -> b w h c
b.transpose(1,3).transpose(1,2).shape
: torech.Size([4,28,32,3]) # b c w h -> b w h c -> b w h c
permute
b = torch.rand(4,3,28,32)# b c w h
b.permute(0,2,3,1).shape
: torech.Size([4,28,32,3]) # b c w h ->  b w h c
Expand/repeat:

Expand:broadcasting
Repeat:memory copied

expand:只有维度是1的才能扩张,-1 表示维度不变
a = torch.rand(4,32,14,14)
b.shape
: torch.Size([1,32,1,1])
b.expand(4,32,14,14).shape
: torch.Size([4,32,14,14])
b.expand(-1,32,-1,-1).shape #-1 表示维度不变
: torch.Size([1,32,1,1])

repeat
b.shape
: torch.Size([1,32,1,1])

b.repeat(4,32,1,1).shape # 4 表示第一维拷贝4次,32表示第二位拷贝32次
: torch.Size([4,1024,1,1])

b.repeat(4,1,1,1)
: torch.Size([4,32,1,1])

b.repeat(4,1,32,32).shape
: torch.Size([4,32,32,32])

Broadcast 自动扩展

默认从最后一个维度开始匹配
在这里插入图片描述
特点:

  1. 自带Expand
  2. without copying data

已知:feature map[4,32,14,14]
bias:[32]
则:
bias[32]->[32,1,1] 这一步需要自己手工做 -->[1,32,1,1]–>[4,32,14,14]

使用条件:

  1. 如果当前维度为1(列表),expand to same
  2. 如果当前维度是0(标量),插入一维,expand to same
  3. 否则,not broadcasting-able

example 1:
[4,32,14,14]
[1,32,1,1] ->[4,32,14,14]

example 2 :
[4,32,14,14]
[14,14]->[1,1,14,14]->[4,32,14,14]

example 3(not broadcasting-able):
[4,32,14,14]
[2,32,14,14]

拼接与拆分

cat

在这里插入图片描述

a1 = torch.rand(4,3,32,32)
a2 = torch.rand(5,3,32,32)
torch.cat([a1,a2],dim=0).shape
: torhc.Size([9,3,32,32])

a2 = torch.rand(4,1,32,32)
torcha.cat([a1,a2],dim=0).shape
: Sizes of tensors must match except in dimension 0

torch.cat([a1,a2],dim=1).shape
: torch.Size([4,4,32,32])

a1 = torch.rand(4,3,16,32)
a2 = torch.rand(4,3,16,32)
torch.cat([a1,a2],dim=2).shape
:torch.Size([4,3,32,32])
stack

要求两个维度必须保持一致

a1 = torch.rand(4,3,32,32)
a2 = torch.rand(5,3,32,32)
torch.stack([a1,a2],dim=2).shape
:torch.Size([4,3,2,16,32])

a = torch.rand(32,8)
b = troch.rand(32,8)
torch.stack([a,b],dim=0).shape
:torch.Size([2,32,8])
split
b = torch.rand(3,32,8)
a1,a2 = b.split([2,1],dim=0)
a1.shape
:torch.Size([2,32,8])
a2.shape
:torch.Size({1,32,8})

a1,a2,a3 = b.split(1,dim=0)
chunk

chunk by num

b = torch.rand(8,32,8)
a1,a2,a3,a4 = b.chunk(2,dim=0)
【PyTorch】张量超详细介绍(数据类型、生成、操作、计算) 一、张量的数据类型、默认类型、类型转换。 二、张量的生成:torch.tensor()、torch.Tensor()、张量和NumPy数据互相转换、随机数生成张量、函数生成等。 三、张量操作:改变张量的形状、获取张量中的元素、拼接和拆分等。 四、张量计算:比较大小、基本运算、统计相关计算等。 阅读详情

相关推荐

龙良曲pytorch基础课程学习笔记

什么是Pytorch? PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可以利用 GPU 的性能进行计算 深度学习研究平台拥有足够的灵活性和速度 开始学习 tensor对象 在 TensorFlow 中,数据不是以整数,浮点数或者字符串形式存在的,而是被封装在一个叫做 tensor 的对象中。Tensor是张量的意思,张量包含了0到任意维度的量...

kexiaoleqq的博客 4051

Pytorch tensor 判断 nan 与 inf 的方法

在用torch搭建深度学习模型时,很容易在数据中存在inf与nan的情况,对应的数据类型分别时torch.inf与torch.nan。 大多数情况下,产生nan数据的原因基本上是出现了分母为0的情况,所以需要检查张量计算过程中是否有除法运算,比如softmax就有除法。 判断一个张量中是否有nan值: torch.isnan(tensor).any() 其中,tensor.any()方法代表tensor中有一个True则全部都为True,any代表一个都不行;与之相对tensor.all()表示tenso

普通攻击往后拉的博客 3万+

Pytorch和Numpy中默认数据类型的区别

问题描述: 在使用Pytorch的过程中,有时会遇到以下报错: RuntimeError: Expected object of type torch.cuda.DoubleTensor but found type torch.cuda.FloatTensor for argument #3 'other' 这种错误是由于数据类型不匹配造成的。这种不匹配可能来自Pytorch各个层之间,也可能...

二次元代码屋 6700

(快速搞懂)Pytorch中的nan和inf有什么区别?

inf是一个数字,表示正无穷大,相应的,有-inf。由于是数字,所以可以和其他数字比较大小。产生原因:数字太大,计算机无法表示。我们发现,有的时候,我们使用torch计算一通之后,有的时候得到的是nan,有的时候得到的inf,这是什么鬼?开门见山,nan不是一个数字,因此没有正负概念,和其他数字比较也没有意义。注意:nan由于不是数字,因此任何后续数学运算都会是nan。注意,其是一个数字,因此,可以作为一个数字继续参与后续运算。成功,大家可以试一试,如果b为nan是无法参加后续运算的。

qq_43391414的博客 6458

Pytorch学习笔记总结

PyTorch学习笔记整理,内容参考多个多个优秀Pytorch学习资源,适合深度学习pytorch学习者学习。(开篇词)PyTorch 学习笔记 - PyTorch 学习笔记;动手学CV-Pytorch:动手学CV-Pytorch;Pytorch 中文文档:主页 - PyTorch中文文档;Pytorch Tutorials...

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 8751

DeepSeek-V4 本地部署实战指南:4套方案从入门到企业级(附RTX 5090实测数据)

V4-Flash 便宜是便宜,输入 1 元/M token,输出 2 元/M token,但量大了还是肉疼。V4-Pro 更离谱,输入 12 元/M token,输出 24 元/M token,这价格要是天天调用,月账单轻松破万。用 4-bit 量化跑 V4-Flash,显存占用 ~22GB,延迟 ~80ms/token,并发能到 2-3 路。换句话说,同样的硬件,能跑更长的上下文、更大的并发。Flash 是「小而美」,一张 RTX 4090/5090 就能跑,门槛低,效果够用。

datayx的文章 9876

pytorch学习笔记(四)——创建tensor

创建tensor

weixin_46753186的博客 1053

Claude Code VSCode集成开发指南:AI编程助手完整配置

Claude Code与Visual Studio Code的深度集成为开发者提供了强大的AI编程支持。本文详细介绍Claude Code VSCode扩展的安装配置、功能特性和实际应用方法。通过完整的配置流程和代码示例,帮助开发者充分利用Claude AI的智能编程能力。文章涵盖从环境搭建到高级功能应用的完整指南,包括代码自动补全、智能重构、实时代码分析等核心功能的使用技巧,以及与现有开发工作流的整合方案。

2501_93058131的博客 5986

【深度学习】Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因

Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因

littlemichelle 561

空心杯电机在美容仪器中的应用:为什么你的洗脸刷动力这么强?

本文深入解析了空心杯电机如何成为高端美容仪器的核心动力源。通过对比传统电机,揭示了其无铁芯、低惯量、零齿槽效应的技术优势,从而实现了强劲动力、极致静音与细腻震动的用户体验。文章详细阐述了空心杯电机在洁面刷、导入仪等美容仪器中的具体应用与选型考量,并指出了开发中驱动匹配、测试等关键实战要点。

j2k3l4的博客 1013

用C++从零复刻Wordle:手把手教你实现命令行猜词游戏(含完整源码解析)

本文详细介绍了如何使用C++从零开始实现一个命令行版本的Wordle猜词游戏,包含完整的源码解析和核心模块设计。通过游戏逻辑控制器、单词库管理器等模块的构建,开发者可以学习C++实战技巧和性能优化方法,适合提升编程能力和游戏开发兴趣。

weixin_26763955的博客 335

Pytorch 0.4 更新学习笔记

一.Tensor 和 Variable合并为Tensor。    Tensor可以追踪计算图。所以没必要使用Variable了。    type(x) -> x.type()    使用detach()来获取Tensor的数值。二.弃用volatile    使用torch.no_grad()/torch.set_grad_enabled(grad_mode)来屏蔽计算图。>>&...

Terrence_Wayne的博客 2082

【智能优化算法】2024年SCI鳗鱼-石斑鱼优化算法(EGO),含MathType公式、word伪代码、visio流程图、matlab代码等。

该文中包括5个内容:用MathType编辑的公式、伪代码、visio的流程图,matlab代码,PDF论文,拿来直接用,可以帮助科研者省下超多时间。 鳗鱼-石斑鱼优化算法(Eel and grouper optimizer ,EGO)是一种新型的元启发式算法(智能优化算法),灵感来源于海洋生态系统中鳗鱼和石斑鱼的共生作用和觅食策略。该成果由Ali Mohammadzadeh和Seyedali Mirjalili两位作者于2024年6月发表在SCI著名期刊《Cluster Computing》上。

2301_79359347的博客 1044

PyTorch学习笔记——Tensor张量的数据类型的转化、Tensor常见的数据类型、快速创建Tensor

PyTorch学习笔记——Tensor张量的数据类型的转化、Tensor常见的数据类型、快速创建TensorTensor类型与numpy类型、list类型数据的相互转化pytorch中Tensor的数据类型快速创建Tensor Tensor类型与numpy类型、list类型数据的相互转化 函数 功能 tensor.numpy() 将Tensor类型转变为numpy类型 torch.from_numpy(ndarray) 将numpy类型转变为Tensor类型 tensor.tolis

Yale-曼陀罗 5万+

YOLO26优化:注意力魔改 | SKAttention注意力,自适应地调整其感受野大小,效果优于SENet

SKAttention输入自适应地调整其感受野大小的能力

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 251

《使用R包ggtree进行进化树的绘制与美化》

都2023年了,才去使用Y叔早在2018年发表的进化树构建利器——ggtree。刚好最近在做基因家族分析,进化树的构建与美化确实有点麻烦,先前使用MEGA11进行了绘制,但图像简陋,于是导出了nwk文件,准备使用其他软件进行美化。这里,我使用ggtree包进行操作。

沉香best的博客 6898

pytorch学习笔记——数据类型的转化

参考链接:[https://mp.weixin.qq.com/s/yz8l54VusPWmF6dWkYL1VA] https://zhuanlan.zhihu.com/p/87441580 np.ndarray与PIL.Image的转换 image = PIL.Image.fromarray(ndarray.astype(uint8)) ndarray = np.asarray(PIL.Image.open(path)) PIL.Image转Opencv image = cv2.cvtColor(numpy

phily123的博客 4582

手把手教你学PCIE--基本概念:PCIe 初始化流程概述

硬件上电复位:系统上电时,所有 PCIe 设备都会进行复位。链路训练(Link Training):主机和设备之间通过链路训练状态机(LTSSM)协商链路参数(如速度和宽度)。配置空间访问:主机通过配置空间读写来发现和配置设备。资源分配:主机为设备分配内存映射 I/O 区域(BARs)、中断向量等资源。驱动程序加载和高级配置:操作系统加载设备驱动程序,并进行更高级的配置和状态监控。硬件上电复位:确保所有设备处于已知的良好状态。链路训练:主机和设备通过 LTSSM 协商链路速度和宽度。

MHD0815的博客 1376

PyTorch学习笔记

PyTorch会将数据封装成张量(Tensor)进行计算,所谓张量就是元素为相同类型的多维矩阵。张量可以在 GPU 上加速运行。

a819125410的博客 1163

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Pytorch 搭建自己的YoloV4目标检测平台学习笔记

前言 本文为B站up主Bubbliiiing《Pytorch 搭建自己的YoloV4目标检测平台》系列视频的学习笔记,主要为实践。 一、数据集的准备 数据集格式:voc格式 数据集制作: 用到的软件:labelImg 下载安装好之后打开界面如下: 1.创建3个文件夹 其中,photo用于存放收集的需要标注的原图片 Annotations和JPEGImages用于后续训练 使用Open dir打开photo,对图片进行标注(建议从下往上标注); 标注完成后用Change Save Dir 存放标签文件(

weixin_65598494的博客 1266

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Pytorch 基本的数据类型

Pytorch中的基本数据类型就是各式各样的张量,张量可以理解为多维矩阵。Pytorch中定义了一个Tensor类来实现张量,Tensor在使用上与numpy的ndarray类似,不同的是,Tensor可以在GPU上运行,但是numpy只能在CPU上运行,当然numpy与Tensor可以进行相互转换,以此使得numpy数据在GPU上运行。Pytorch中的Tensor又包括CPU上的数据类...

洪流之源 7905

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Pytorch数据类型转换

Pytorch-数据类型转换 ...

Blankit1的博客 7637

【Pytorch基础(1)】pytorch的基本数据类型:张量

PyTorch 于 2016 年首次推出。在 PyTorch 之前,深度学习框架通常专注于速度或可用性,但不能同时关注两者。PyTorch将这两者相结合,提供了一种命令式和 Python编程风格,支持将代码作为模型,使调试变得容易,支持 GPU 等硬件加速器。PyTorch 是一个 Python 库,它通过自动微分和 GPU 加速执行动态张量计算。它的大部分核心都是用 C++ 编写的,这也是 PyTorch 与其他框架相比可以实现低得多的开销的主要原因之一。

lingchen1906的博客 2356

【Pytorch】pytorch基本数据类型及操作(一)

PyTorch基本数据类型

宫瑞阳的博客 1309

Pytorch学习笔记(一)——张量数据类型

Pytorch学习笔记(一)——张量数据类型

weixin_39433223的博客 2064

PyTorch 入门学习笔记

PyTorch 简介、安装、语法、基本概念等。

Cappuccino0001的博客 2422
上一篇: pytorch学习笔记3--回归问题
下一篇: pytorch学习笔记5--pytorch基本运算
jeffery0628
博客等级 码龄11年 39粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值