首页 > 其他分享 >机器学习 - PyTorch一些常用的用法

机器学习 - PyTorch一些常用的用法

时间:2024-03-15 18:01:50浏览次数:27  
标签:机器 tensor ten 浮点数 torch 用法 PyTorch print 精度

如果我们要创建2维随机数

import torch 

random_tensor = torch.rand(size=(3,4))
print(random_tensor)

# 输出
tensor([[0.0137, 0.7773, 0.0150, 0.2406],
        [0.6414, 0.7830, 0.7603, 0.1866],
        [0.8157, 0.8269, 0.0438, 0.0314]])


有时候需要通过加入数字0和数字1到tensor里

# Create a tensor with all zeros 
zero = torch.zeros(size=(3,4))
print(zero) 

# 输出
tensor([[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]])
# Create a tensor with all ones
one = torch.ones(size=(3,4))
print(one)

# 输出
tensor([[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]])


想创建一个有范围的tensor,就得需要用到 torch.arange()

zero_to_ten = torch.arange(start=0, end=10, step=1)
print(zero_to_ten)
# 输出
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

要想创建一个全部都是0或者是1的tensor

ten_zeros = torch.zeros_like(input = zero_to_ten)
print(ten_zeros)
ten_ones = torch.ones_like(input = zero_to_ten)
print(ten_ones)

# 输出
tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])


顺带介绍一下 CUDA.
英伟达的GPUs用了computing toolkit,这个toolkit叫做 CUDA。


Precision is the amount of detail used to describe a number.

在 PyTorch 中,精度 (precision) 值通常情况下,精度值可以是8, 16, 32或64,分别对应unit8, 单精度浮点数 (float32),半精度浮点数 (float16), 双精度浮点数 (float64)。

  • float32 (32位浮点数): 通常用于深度学习中的计算,默认情况下PyTorch中的Tensor类型是float32。它具有较高的精度和范围,适用于大多数深度学习任务。
  • float16 (16位浮点数): 也称为半精度浮点数,它可以显著减少内存占用,加快计算速度,但同时会带来精度损失。在某些情况下,可以使用float16来加速计算,但需要注意潜在的精度损失。
  • float64 (64位浮点数):也称为双精度浮点数,具有更高的精度和范围,但同时也会占有更多的内存空间。在某些情况下需要更高的数值精度时,可以使用float64。

可以自定义一些tensors with specific datatypes. 是用 dtype 这个参数

float_32_tensor = torch.tensor([1.0, 6.0, 9.0],
                               dtype = None,
                               device = None,
                               requires_grad = False)

print(float_32_tensor.shape, float_32_tensor.dtype, float_32_tensor.device) 

# 结果输出
torch.Size([3]) torch.float32 cpu

通过下面的例子,来介绍什么是 shape, dtype, device

example_tensor = torch.rand(3,4)
print(example_tensor)
print(f"Shape of tensor: {example_tensor.shape}")
print(f"Datatype of tensor: {example_tensor.dtype}")
print(f"Device tensor is stored on: {example_tensor.device}")

# 输出
tensor([[0.9961, 0.3773, 0.5295, 0.6546],
        [0.7505, 0.5768, 0.8997, 0.7675],
        [0.3681, 0.0447, 0.4344, 0.9033]])
Shape of tensor: torch.Size([3, 4])  
Datatype of tensor: torch.float32
Device tensor is stored on: cpu


都看到这了,给个赞呗~

标签:机器,tensor,ten,浮点数,torch,用法,PyTorch,print,精度
From: https://blog.csdn.net/BSCHN123/article/details/136732962

相关文章

  • SpaceX 星舰发射「成功一半」;首位具身 AI 机器人面世丨 RTE 开发者日报 Vol.166
       开发者朋友们大家好: 这里是**「RTE开发者日报」**,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代......
  • 机器学习练手项目-猫狗分类器
    机器学习练手项目-猫狗分类器作者简介:一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。座右铭:未来是不可确定的,慢慢来是最快的。个人主页:极客李华-CSDN博客合作方式:私聊+这个专栏内容:用最低价格鼓励和博主一起在寒假打卡高频大厂算法题,连续一......
  • 【C++进阶】C++关联式容器map和set用法详解
    map和set用法详解一,关联式容器二,键值对pair三,set1.set的用法2.multiset的用法四,map1.键值对pair的介绍2.map用法3.multimap用法五,总结上一节我们讲解了二叉搜索树,在讲解之前我们先来讲一下set和map,因为set和map的底层是AVL树和红黑树,而AVL树和红黑树又是一种二......
  • 工匠的发展与兴衰趋势-机器人篇
    这是一篇纯纯调侃的博客,如有雷同纯属意外。之前,写过:从2050回顾2020,职业规划与技术路径(节选)从2050回顾2020,职业规划与技术路径(节选)补充 未来以“工”为主的就业机会趋势是越来越少,也就是从业人员的感受是越来越卷。学生通常最多困惑或者反馈的现象。如果从零搭建一台......
  • Pytorch——AutoTokenizer载入本地tokenizer权重
    由于众所周知的原因,国内很难使用huggingface去下载权重,但现在的大模型的权重以及相关的分词器配置都放在huggingface的仓库中。当我们使用 AutoTokenizer.from_pretrained 去载入相关分词器和模型时,会访问huggingface自动下载模型。但随着大模型的发布,很多模型的tokenizer都......
  • 模仿昆虫大脑:高效机器人技术的飞跃
    原文链接:https://www.unite.ai/mimicking-insect-brains-a-leap-forward-in-efficient-robotics/ Inthevastexpanseofnature,someofthemostprofoundinspirationscomefromthesmallestofcreatures.Insects,oftenoverlookedduetotheirdiminutivesize,a......
  • VLOOKUP函数用法
    1、常规用法,对比人员部门调整后,而且两组数据值错乱(如表AB列和DE列数据),但使用vlookup函数就可以快速知道哪些人员部门调整过,哪些人员部门未动,方便管理员快速的进行区分统计数据=VLOOKUP(A3,$D$2:$E$12,2,FALSE)vlookupvlookup函数A3为需要查找......
  • vue3中setup使用及其语法糖的用法
    使用setup语法糖后,不用写setup函数;组件只需要引入不需要注册;属性和方法也不需要再返回,可以直接在template模板中使用。.setup语法糖中新增的apidefineProps:子组件接收父组件中传来的propsdefineEmits:子组件调用父组件中的方法defineExpose:子组件暴露属性,可以在父组件中......
  • 超低功耗LCD显示段码驱动芯片VKL128 LQFP44 适用于扫地机器人/燃气表-原厂技术支持
    VKL128概述:VKL128是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,可配置4种功耗模式,也可通过关显示和关振荡器进入省电模式。其高抗干扰,低功耗的特性适用于水电气表以及工控仪表类产品。功能特点:•   ......
  • Django model select的各种用法详解
    Djangomodelselect的各种用法详解摘自:https://www.cnblogs.com/skbarcode/p/12584387.html基本操作#获取所有数据,对应SQL:select*fromUserUser.objects.all()#匹配,对应SQL:select*fromUserwherename='运维咖啡吧'User.objects.filter(name='运维咖啡吧')#......