Aru*_*tel 4 python training-data deep-learning pytorch
我有一个神经网络,它采用维度 (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)
Run Code Online (Sandbox Code Playgroud)
我的期望是 result1 和 result2 是一样的。但是 result1 和 result2 是完全不同的。谁能解释为什么这两个输出不同。
这可能是因为您的模型具有一些特定于训练的随机过程,并且您没有禁用它们(例如,通过使用model.eval()
)或在推理过程中模型需要它们。
要测试上述内容,请使用:
model = model.eval()
Run Code Online (Sandbox Code Playgroud)
在获得之前result1
。
归档时间: |
|
查看次数: |
230 次 |
最近记录: |