码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • (done) 关于 pytorch 代码里常出现的 batch_first 到底是啥?


    参考文章:https://pytorch.org/docs/stable/generated/torch.nn.utils.rnn.pad_sequence.html


    首先看参考文章里的解释,如下图
    在这里插入图片描述

    从文章描述来看,当 batch_first = True 时,输出的张量的 size 是 B x T x *。当 batch_first = False 时,输出的张量的 size 是 T x B x *

    一个例子如下代码:

    seqs = [torch.tensor([1,2,3]), torch.tensor([3,4])] # Sequences
    seq_lens = torch.tensor([3,2]) # Actual lengths of sequences
    
    # First, pad the sequences to the same length
    # 在处理序列数据时,由于序列的长度可能不一致,为了能够将它们组织成一个张量以便进行批处理,
    # 通常需要对这些序列进行填充,使它们的长度保持一致。pad_sequence 函数的作用就是对一批序列进行填充,
    # 使得它们的长度都与最长序列的长度相同。
    padded_seqs = nn.utils.rnn.pad_sequence(seqs, batch_first=True)
    print(padded_seqs)
    print(padded_seqs.size())
    padded_seqs = nn.utils.rnn.pad_sequence(seqs, batch_first=False)
    print(padded_seqs)
    print(padded_seqs.size())
    

    输出日志如下:

    tensor([[1, 2, 3],
            [3, 4, 0]])
    torch.Size([2, 3])
    tensor([[1, 3],
            [2, 4],
            [3, 0]])
    torch.Size([3, 2])
    

    正好映证了 文章里的解释

  • 相关阅读:
    Win10删除文件需要TrustedInstaller权限的解决方法
    难道AI不知道tnsnames.ora的instance_name配置吗?
    Floyd (弗洛伊德)算法简述
    admin后台管理
    java基础
    ubuntu20.04 安装TensorRT,解决依赖问题
    第九章Redis持久化
    CentOS 7 下 SVN + Apache 对接 LDAP 服务
    ffmpeg截取视频
    在线客服系统代码_h5客服_对接公众号_支持APP_支持多语言
  • 原文地址:https://blog.csdn.net/shimly123456/article/details/138871799
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号