python-3.x - torchtext 的 BucketIterator 可以将所有批次填充到相同的长度吗?
问题描述
我最近开始使用 torchtext 来替换我的胶水代码,我遇到了一个问题,我想在我的架构中使用注意力层。为了做到这一点,我需要知道我的训练数据的最大序列长度。
问题在于,torchtext.data.BucketIterator
它会按批次进行填充:
# All 4 examples in the batch will be padded to maxlen in the batch
train_iter = torchtext.data.BucketIterator(dataset=train, batch_size=4)
是否有某种方法可以确保所有训练示例都填充到相同的长度;即训练中的maxlen?
解决方案
实例化 atorchtext.data.Field
时,有一个可选的关键字参数fix_length
,当设置该参数时,它定义了所有样本将被填充的长度;默认情况下它没有设置,这意味着灵活的填充。
推荐阅读
- c++ - 使用给定数据增加十六进制值
- stored-procedures - 即使 return 未定义为 out 参数,您能否使用 cfstoredproc 访问存储过程的返回?
- json - 尝试将 json 作为电子邮件信息发送到 api(Sendgrid) 时出现 400 BAD REQUEST 错误
- swift - 如何将视图输入参数传递给 @State 变量?
- windows - ffmpeg 在 forfiles 循环中调用时覆盖输入文件
- google-sheets - 逻辑公式:倍数的与或
- google-sheets - 寻找没有重叠日期的最低值
- python - Python 错误 - 无法导入我的要求
- micro-frontend - 如何使用 templateUrl 实现 Piral Angular 组件?
- javascript - 在移动/Chrome 中自动播放视频