gpt4 book ai didi

python - 使用模型推断批处理与使用 pytorch 的个人时的不同结果

转载 作者:行者123 更新时间:2023-12-03 21:49:09 25 4
gpt4 key购买 nike

我有一个神经网络,它采用维度 (batch_size, 100, 1, 1) 的输入张量并生成维度 (batch_size, 3, 64, 64) 的输出张量。
使用模型推断一批两个元素和单独推断元素时,我得到了不同的结果。
使用下面的代码,我初始化了一个维度为 (2, 100, 1, 1) 的 pytorch 张量。我将这个张量传递给模型,然后将模型输出的第一个元素存储在变量 result1 中。对于 result2,我只是通过我的模型直接运行原始输入张量的第一个元素。

inputbatch=torch.randn(2, Z_DIM, 1, 1, device=device)
inputElement=inputbatch[0].unsqueeze(0)

result1=model(inputbatch)[0]
result2=model(inputElement)
我的期望是 result1 和 result2 是一样的。但是 result1 和 result2 是完全不同的。谁能解释为什么这两个输出不同。

最佳答案

这可能是因为您的模型有一些随机过程,这些过程要么是特定于训练的,而您没有禁用它们(例如,通过使用 model.eval()),要么在推理过程中模型需要。
要测试上述内容,请使用:


model = model.eval()
获取前 result1 .

关于python - 使用模型推断批处理与使用 pytorch 的个人时的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63400559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com