pytorch學習
在安裝完conda時,需要在windows上修改pip配置路徑具體操作如下
文件管理器文件路徑地址欄敲:%APPDATA%回車,快速進入C:\Users\電腦用戶\AppData\Roaming文件夾中
新建pip文件夾并在文件夾中新建pip.ini配置文件
需要在pip.ini配置文件內容,我們可以使用記事本打開,輸入一下內容,以豆瓣源為例子
[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
conda換源(清華源)
windows系統:
TUNA 提供了 Anaconda 倉庫與第三方源的鏡像,各系統都可以通過修改用戶目錄下的 .condarc 文件。Windows 用戶無法直接創建名為 .condarc 的文件,可先執行conda config --set show_channel_urls yes生成該文件之后再修改。
完成這一步后,我們需要修改C:\Users\User_name.condarc這個文件,打開后將文件里原始內容刪除,將下面的內容復制進去并保存。
channels:
- defaults
show_channel_urls: true
default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
這一步完成后,我們需要打開Anaconda Prompt 運行 conda clean -i 清除索引緩存,保證用的是鏡像站提供的索引。
我的cuda版本時12.6
安裝命令如下
在安裝時需要注意要用python3.9及以上的版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
PyTorch之所以被越來越多的人使用,不僅在于其完備的教程,還受益于許多相關的資源,在這里,我們列舉了相關的優質資源希望能幫助到各位同學。
Awesome-pytorch-list:目前已獲12K Star,包含了NLP,CV,常見庫,論文實現以及Pytorch的其他項目。
PyTorch官方文檔:官方發布的文檔,十分豐富。
Pytorch-handbook:GitHub上已經收獲14.8K,pytorch手中書。
PyTorch官方社區:在這里你可以和開發pytorch的人們進行交流。
第二章
記錄了一些torch上tensor上的一些操作還有梯度計算
PyTorch 中,所有神經網絡的核心是 autograd 包。autograd包為張量上的所有操作提供了自動求導機制。它是一個在運行時定義 ( define-by-run )的框架,這意味著反向傳播是根據代碼如何運行來決定的,并且每次迭代可以是不同的。
torch.Tensor 是這個包的核心類。如果設置它的屬性 .requires_grad 為 True,那么它將會追蹤對于該張量的所有操作。當完成計算后可以通過調用 .backward(),來自動計算所有的梯度。這個張量的所有梯度將會自動累加到.grad屬性。
注意:在 y.backward() 時,如果 y 是標量,則不需要為 backward() 傳入任何參數;否則,需要傳入一個與 y 同形的Tensor。
要阻止一個張量被跟蹤歷史,可以調用.detach()方法將其與計算歷史分離,并阻止它未來的計算記錄被跟蹤。為了防止跟蹤歷史記錄(和使用內存),可以將代碼塊包裝在 with torch.no_grad(): 中。在評估模型時特別有用,因為模型可能具有 requires_grad = True 的可訓練的參數,但是我們不需要在此過程中對他們進行梯度計算。