【PyTorch教程】P3. Python學習中的兩大法寶函數(當然也可以用在PyTorch)
- 2019 年 11 月 11 日
- 筆記
溫馨提示:為了更好的教程體驗,提供影片、閱讀地址
Youtube: https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9YjQvCBcK5PZ-V
BiliBili: https://www.bilibili.com/video/av74281036/
Github: https://github.com/xiaotudui/PyTorch-Tutorial
相關下載:https://pan.baidu.com/s/16koDDDvAFO7rNoi-uR-A_g 提取碼:pahi
在學習中,遇到任何問題,可以關注公眾號:土堆碎念,直接在對話框中留言,我會不定時解答的~
公眾號:土堆碎念,回復:pytorch,即可獲得所有的數據集及安裝包, 省去找軟體、數據集的時間。(同步更新中,請勿急躁)
前言
一般的教程的介紹順序是:基本的數據類型,一些常用函數之類的。
但我在學習的過程中,比如他在介紹 b函數,總會引入 a函數之類的。而 a函數的意義我又不知道,就很煩了。
而且,我還不知道每個模組中,有哪些函數,整個學習過程中,對我來說太痛苦了。
所以,這次我會介紹 Python 中的兩個法寶函數,它試用於任何 Python Package,所以,當然也適用於 PyTorch。
授人以魚不如授人以漁,這兩個法寶函數,對你自學,深入學習,一定有巨大幫助。
Package 與 兩大法寶函數
我們之前說過,一個 Package 就好像一個工具箱。我們現在來解析,這個名為 pytorch 的工具箱結構。
遊戲開始!你有兩個道具:
dir()
道具:相當於你的手和眼睛,它可以幫你打開東西和看到其中的東西。
help()
道具:相當於說明書,你可以知道每個工具的使用方法。
現在讓我們去探索吧!
我們首先對 pytorch 工具箱使用 dir()
道具,這樣就可以發現其中有 1,2,3,4 的分隔區 或者 小工具箱。
dir(pytorch)
的輸出將會是:1,2,3,4。
現在我們想去探索 分隔區1 裡面有什麼?
我們繼續使用我們的 dir()
道具,dir(pytorch.1)
,將會輸出 a,b,c。
這就說明,在 1 的分隔區或者小工具箱中,有名為 a,b,c的工具。
現在我們知道了 a 道具在 pytorch 工具箱中的1分隔區。
我們想知道如何使用它,這個時候,我們需要使用到另一個道具,help()
,我們這樣使用,help(pytorch.1.a)
。它將會輸出,使用 a 的方法。
總而言之:
dir()
,能讓你了解package有哪些東西,也許是更小的模組,或者是函數。
help()
,能讓你知道函數的使用方法。
實戰——兩個重要函數( dir(), help() )
1、首先,打開 PyCharm,應該默認會打開上一節創建的項目,如果沒有的話,點擊左上角的 File – Open,打開上一節創建的項目地址。
之後,點擊左下角的 Python Console,檢查第一行的 envs 後是不是 你創建的 conda環境的名字。
2、我們使用 import torch
,導入 PyTorch。之前說過,package 就像一個工具箱,裡面有各種各樣的工具。
當我們要使用工具箱的時候,我們需要知道:工具箱中有什麼工具,以及工具該如何使用(說明書)。而這兩個函數,就是對應這兩個功能。
dir
函數能讓我們知道 工具箱 以及工具箱中的分隔區有什麼東西。
help
函數能讓我們知道每個工具是如何使用的,工具的使用方法。
3、現在,我們想去看看 torch 工具箱中,有什麼?我們輸入 dir(torch)
,會看到大量的結果。
這些結果也許是工具,也許是工具分隔區。
4、現在我們就之前檢查 torch.cuda.is_available()
為例。我們在 torch 工具箱中,發現了 cuda 工具分隔區,或者更小的工具箱。
我們現在繼續看看,cuda 這個小工具箱中,有什麼?
5、我們在這個工具箱中,可以看到,is_available,我們之前使用的。我們對 is_available 繼續使用 dir()
函數,可以看到輸出,是帶有前後雙下劃線的。這個時候,就大致表明,你看到的是這個對象的一些屬性。也就是說明,這是一個函數,一個工具。你應該使用 help()
函數去查看這個工具的使用方法。
現在,我們使用 help(torch.cuda.is_available)
來查看這個工具,函數的使用方法。
當我們輸入指令的時候,你可以看到這個工具、函數的作用。
torch.cuda.is_available
這個函數,返回一個 True 或者 False 來表明 CUDA 是否可用。
最後
這兩個函數非常有用,以後遇到問題的時候,可以善用這兩個函數。一定會解決你的不少問題。
我的大本營
尋找有趣或更有效率的事、工具和教程