pytoch予測の解決には、複数の予測結果が一致しない問題があります。
なぜ何度も予測した結果が一致しないですか?
1、毎回予測する前に使用するかどうかを確認する。
2、すべてのdropoutがキャンセルされたか確認する。
3、ランダムシードの設定
以上は個人の経験ですので、参考にしていただければと思います。
1、毎回予測する前に使用するかどうかを確認する。
model.eval()
それとも
with torch.no_grad():
for ...
以下の方法を紹介します。上の方法は勾配を計算しますが、逆伝搬ではなく、下の方法は勾配を計算しないし、逆伝搬もしないので、速度が速いです。2、すべてのdropoutがキャンセルされたか確認する。
3、ランダムシードの設定
def setup_seed(seed):
np.random.seed(seed)
random.seed(seed)
torch.manual_seed(seed) #cpu
torch.cuda.manual_seed_all(seed) # gpu
torch.backends.cudnn.deterministic = True #cpu/gpu
torch.backends.cudnn.benchmark = True #
4、実証モデルを保証する前に、is_をtriningはfalseに置く。この2行のコードの順序は逆さまにしてはいけません。以上は個人の経験ですので、参考にしていただければと思います。