Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PyTorch:如何进行批量推理(并行推理)_Pytorch - Fatal编程技术网

PyTorch:如何进行批量推理(并行推理)

PyTorch:如何进行批量推理(并行推理),pytorch,Pytorch,如何在PyTorch中进行批量推理?如何并行进行推理以加速代码的这一部分 我从做推理的标准方法开始: with torch.no_grad(): for inputs, labels in dataloader['predict']: inputs = inputs.to(device) output = model(inputs) output = output.to(device) 我已经研究过了,唯一提到的并行推理(在同一台机器中)

如何在PyTorch中进行批量推理?如何并行进行推理以加速代码的这一部分

我从做推理的标准方法开始:

with torch.no_grad():
    for inputs, labels in dataloader['predict']:
        inputs = inputs.to(device)
        output = model(inputs)
        output = output.to(device)
我已经研究过了,唯一提到的并行推理(在同一台机器中)似乎是在Dask库中:


目前正在尝试理解该库并创建一个工作示例。同时,你知道更好的方法吗?

在pytorch中,输入张量总是在第一个维度中有批次维度。因此,按批次进行推理是默认行为,只需将批次维度增加到大于1即可


例如,如果您的单个输入是
[1,1]
,则其输入张量是
[[1,1],]
,形状为
(1,2)
。如果有两个输入
[1,1]
[2,2]
,则生成带有形状(2,2)的输入张量
[[1,1],[2,2],]
。这通常是在批处理生成器函数中完成的,如
数据加载器

如果
输入
是一批输入,则代码会分批进行推断。如果您认为它很慢,首先检查GPU是否被充分利用(内存和利用率)。让我们知道。