Pytorch框架介紹


1.簡介

  優點:

  編程簡單,類似Numpy

  只需要設置前向傳播,反向傳播過程梯度自動計算

  動態圖,方便調試

2.基本組成元素

  Tensor:基本數據單元,多維數組(data)

  Vairable:等同於帶梯度的Tensor(data + grad + creator),高版本中與tenesor合並

  nn:卷積、池化、激活函數等層的實現

  Module:網絡結構,包含一系列Tensor和nn的計算過程

  torch基本操作:運算

  只保留葉子節點的梯度,或使用retain_grad(),保留中間變量的梯度

  nn----卷積、池化、激活等層,function只定義一個操作,無法保存參數

  帶有參數的放在網絡的初始化中,不帶參數的放在前向傳播中

3.構建神經網絡

  步驟:

    准備數據:Dataset Dataloader,可以快速、提前提取數據到內存中,提供框架,只需要寫核心函數,提供多種數據增廣支持

    網絡設計:初始化、forward

    損失函數:nn.entrophy,  nn.MSELoss

    參數更新:torch.optim optimizer = optimSGD(net.parameters(), lr=args.lr, momentum = 0.9, weight_decay=1e-4)

  進階

  1)多GPU並行,torch.nn.DataParallel單機多卡

  2)cpp extension擴展,實現新的功能,加速。過程:使用.c實現,將其編譯成python可用的,最后加入pytorch(function, module)網絡中

  3)tensorboardX可視化,安裝tensorflow,安裝tensorboardX,初始化,記錄,可視化

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM