pytorchでCPUを使うと出力結果が(1, 2048)
になります。
python
1device = torch.device("cuda" if torch.cuda.is_available() else "cpu") 2model = resnet.generate_model(model_depth=152, n_classes=700)pretrain = torch.load(pretrain_path,vmap_location='cpu') 3model.load_state_dict(pretrain['state_dict']) 4 5>>> 6#,出力結果(1, 2048)
GPU(8個あります)を複数並列で使うメソッドnn.DataParallel()
を使うと出力結果が(1, 700)
に変わります。
同じ例の参考サイト
python
1device = torch.device("cuda" if torch.cuda.is_available() else "cpu") 2model = resnet.generate_model(model_depth=152, n_classes=700)pretrain = torch.load(pretrain_path,vmap_location='cpu') 3model.load_state_dict(pretrain['state_dict']) 4model = nn.DataParallel(model, device_ids=None).cuda() 5 6# 出力結果(1, 700)
nn.DataParallel()
を使って複数のGPUを並列に動かしても出力結果を変えない方法はありますでしょうか?お教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。