Cuda
在Cuda上創建變量的兩個方法:
- 直接在GPU上創建:x = torch.cuda.FloatTensor(1);
- 在CPU上創建然後轉移到GPU上:x = torch.FloatTensor(1).cuda();
多GPU使用:
- x = torch.FloatTensor(1).cuda(async=True), 通過async=True可以將數據從CPU到GPU的傳輸與計算重疊,不過當數據量小的時候貌似沒什麼用;
訓練模型保存
1. 只保存和加載模型參數:
保存:torch.save(model.state_dict(), PATH)
加載:model = ModelClass(args, * kwargs) + model.load_state_dict(torch.load(PATH))2. 保存整個模型:
保存:torch.save(model, PATH)
加載:model = torch.load(PATH)