【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 是否可用。

最後

這兩個函數非常有用,以後遇到問題的時候,可以善用這兩個函數。一定會解決你的不少問題。


我的大本營

學會這三個排版原則,你就能超過80%人的排版

你想過將你的人生遊戲化嗎?

用遊戲的思路激勵自己

尋找有趣或更有效率的事、工具和教程