python - Pytorch如何增加批量大小
问题描述
我目前有一个 torch.Size([1, 3, 256, 224]) 的张量,但我需要它作为输入形状 [32, 3, 256, 224]。我正在实时捕获数据,因此数据加载器似乎不是一个好的选择。有没有简单的方法来获取 32 个大小的 torch.Size([1, 3, 256, 224]) 并将它们组合起来以创建 1 个大小为 [32, 3, 256, 224] 的张量?
解决方案
您很可能使用 jit 模型,并且批量大小必须与模型训练时的大小完全相同。
t = torch.rand(1, 3, 256, 224)
t.size() # torch.Size([1, 3, 256, 224])
t2= t.expand(32, -1,-1,-1)
t2.size() # torch.Size([32, 3, 256, 224])
扩展张量不会分配新的内存,而只会在现有张量上创建一个新视图,并且您会得到所需的内容。只有张量步幅发生了变化。
推荐阅读
- c# - 如何从嵌套的 JSON 数组中按键获取值?
- python - 从 Github 自动更新您的文件
- python - JSONDecodeError:期望值:使用有效 json 时的第 1 行
- c# - 使用 LINQ 从列表列表中返回选择对象和仅所需的子值
- youtube-api - 我可以在没有说明来自 YouTube 的情况下嵌入 YouTube 视频吗?
- makefile - 每次都重新运行构建
- r - 在 R 中对整个脚本使用并行
- azure - Azure / Terraform - 带有存储队列的 azurerm_monitor_autoscale_setting
- python - AttributeError:“str”对象没有属性“decode”。Python 3 和 Python 2.7 兼容性
- javascript - 获取给定类别和相应值的笛卡尔积