pytorch模型運算時間的不同

2021-10-14 02:12:50 字數 605 閱讀 4465

今天測試模型計算時間時,執行了這樣一段**:

在呼叫時發現 首次呼叫第乙個模型的計算時間 會比之後的模型計算時間長很多,執行結果如圖:

可以看到即便是同樣是resnet50,第一次呼叫和第二次呼叫時間差別非常大。而且即便我改變了模型載入的順序,在呼叫時仍然是第乙個模型的計算時間遠超其他模型。

因此我判斷python程式在呼叫pytorch框架下第乙個模型計算時,運算時間會比之後再計算時間長很多,並且用迴圈體做了另乙個實驗,我執行了這樣一段程式:

可以看到即使是同樣的模型,第一次呼叫它計算的所耗的時間也比之後長的多,這樣的現象應該和pytorch的初始化有關。

PyTorch使用cpu載入模型運算方式

沒gpu沒cuda支援的時候載入模型到cpu上計算 將model torch.load path,map location lambda storage,loc swww.cppcns.comtorage.cuda device 改為ttwhlwmodel torch.load path,ma程式設...

pytorch的模型解析

如何獲取pytorch的動態圖?model torch.jit.load test.pth graph model.graph.copy torch.c.jit pass inline graph node list graph.nodes 載入模型後,獲取模型的graph,這個graph就是需要的...

pytorch 模型部分引數的載入

如果對預訓練模型的結構進行了一些改動,在訓練的開始前希望載入未改動部分的引數,如將resnet18的第一層卷積層conv1的輸入由3通道改為6通道的new conv1,將分類層fc的1000類輸出改為2類輸出的new fc,注意 要改一下名字與原來的不同。匯入模型 mynet resnet 然後就載...