天天看點

關于 Pytorch 學習的一些小困惑的了解

目錄

​​小記​​

​​20.2.27​​

​​model=model.cuda()和model=model.to('cuda')是等價的嘛?​​

​​模型會自動初始化嘛?​​

​​訓練好的網絡模型是如何儲存的?又是如何再加載的?​​

​​哪些部分可以移到GPU上運算?​​

​​關于torch.nn.multinomial方法的深入探讨​​

​​2.28​​

​​關于熵,相對熵,KL散度,交叉熵概念的學習​​

​​關于nn.embedding的次元的定義,函數的了解,一些需要注意的點​​

​​3.1​​

​​關于loss.backward()以及其參數retain_graph的一些坑​​

​​3.2​​

​​關于pytorch網絡模型可視化函數make_dot的一些問題​​

​​未完待續。。。​​

小記

如題,本文用于總結學習Pytorch的一些小困惑,大的問題,可能會拉出來單寫一篇部落格,沒解決的問題也會暫且放進來,解決了之後再補上去解決方法~~ 目前本人處于菜雞階段,深度學習的理論儲備有了一些,但還沒有真正完整獨立的完成一個項目,急需真槍實彈的操練一把,不能繼續鹹魚下去了_(T-T」 ∠)_

下一周就開始正式上(網)課了,後面争取每天都能遇到一個有收獲的問題,并且在這裡進行總結~ 大家可以互相學習,互相監督呀!(*•̀ㅂ•́)و~  如果有大佬想指點一二,請移步評論區,感激不盡!

更改模式-----簡單的問題在這裡解釋,難的直接放一個傳送門,傳送到單獨解釋的部落格~~

20.2.27

model=model.cuda()和model=model.to('cuda')是等價的嘛?

​PyTorch 0.4.0​

​通過兩種方法使代碼相容變得非常容易:

  • 張量的​

    ​device​

    ​​屬性為所有張量提供了​

    ​torch.device​

    ​​裝置。(注意:​

    ​get_device​

    ​​僅适用于​

    ​CUDA​

    ​張量)
  • ​to​

    ​​方法​

    ​Tensors​

    ​​和​

    ​Modules​

    ​​可用于容易地将對象移動到不同的裝置(代替以前的​

    ​cpu()​

    ​​或​

    ​cuda()​

    ​方法)

是以,現在使用Modules.to('cuda')等價于Modules.cuda()

模型會自動初始化嘛?

​​pytorch神經網絡模型會自動初始化嘛?​​

訓練好的網絡模型是如何儲存的?又是如何再加載的?

網絡模型,儲存的實際上是參數,而參數的存儲形式,實際上是一個orderedDict,即一個有序字典,而加載當然可以直接用modules.load_state_dict(orderedDict)函數,當然如果是不同的模型,需要加一個循環進行判斷,方法可以如下~:

net = originNet()
pretrainparameter = torch.load('somemodule.pth') #加載預訓練模型
netparameter = net.state_dict() #擷取目前網絡的參數

for key in pretrainparameter.keys():
    if key in netparameter.keys(): #比對關鍵字
        netparameter[key] = pretrainparameter[key] # 參數指派

net.load_state_dict(netparameter)  #将比對參數傳入      

哪些部分可以移到GPU上運算?

modules(即網絡模型)tensors(即運算張量)都可以利用to('cuda')方法轉移至GPU記憶體中進行運算。

關于torch.nn.multinomial方法的深入探讨

2.28

關于熵,相對熵,KL散度,交叉熵概念的學習

這個有一篇文章講得很好,這裡放一個連結

​​一文搞懂交叉熵在機器學習中的使用,透徹了解交叉熵背後的直覺​​

關于nn.embedding的次元的定義,函數的了解,一些需要注意的點

emmm  來補一個坑 ​​傳送門​​ 要注意的點也不是很多啦,3.9号才給填上的我是真的有點懶= =

3.1

關于loss.backward()以及其參數retain_graph的一些坑

emmm 因為篇幅挺長的,單獨發了一篇,傳送門~~​​關于loss.backward()以及其參數retain_graph的一些坑​​

3.2

關于pytorch網絡模型可視化函數make_dot的一些問題

未完待續。。。

繼續閱讀