當前位置:
首頁 > 新聞 > 強推!《PyTorch中文手冊》來了

強推!《PyTorch中文手冊》來了

新智元報道

來源:GitHub

作者:zergtant

【新智元導讀】今天我們強烈推薦一本中文PyTorch書籍 —— PyTorch 中文手冊,並附上試讀。本書提供PyTorch快速入門指南並與最新版本保持一致,其中包含的 Pytorch 教程全部通過測試保證可以成功運行。

PyTorch 是一個深度學習框架,旨在實現簡單靈活的實驗。

自 2017 年初首次推出,PyTorch 很快成為 AI 研究人員的熱門選擇並受到推崇。PyTorch 有許多優勢,如採用 Python 語言、動態圖機制、網路構建靈活以及擁有強大的社群等。由於其靈活、動態的編程環境和用戶友好的界面,PyTorch 是快速實驗的理想選擇。

PyTorch 現在是 GitHub 上增長速度第二快的開源項目,在過去的 12 個月里,貢獻者增加了 2.8 倍。而且,去年 12 月在 NeurIPS 大會上,PyTorch 1.0 穩定版終於發布。PyTorch 1.0 增加了一系列強大的新功能,大有趕超深度學習框架老大哥 TensorFlow 之勢。

因此,學習 PyTorch 大有裨益!

今天我們強烈推薦一本中文 PyTorch 書籍 ——PyTorch 中文手冊 (pytorch handbook),並附上試讀。這是一本開源的書籍,目標是幫助那些希望和使用 PyTorch 進行深度學習開發和研究的朋友快速入門,其中包含的Pytorch 教程全部通過測試保證可以成功運行

開源地址:

https://github.com/zergtant/pytorch-handbook

書籍介紹

這是一本開源的書籍,目標是幫助那些希望和使用 PyTorch 進行深度學習開發和研究的朋友快速入門。

由於本人水平有限,在寫此教程的時候參考了一些網上的資料,在這裡對他們表示敬意,我會在每個引用中附上原文地址,方便大家參考。

深度學習的技術在飛速的發展,同時 PyTorch 也在不斷更新,且本人會逐步完善相關內容。

版本說明

由於 PyTorch 版本更迭,教程的版本會與 PyTorch 版本,保持一致。

12 月 8 日 PyTorch 已經發布 1.0 的穩定版。 API 的改動不是很大,本教程已經通過測試,保證能夠在 1.0 中正常運行。 不過目前看影響不大,因為畢竟內容還不多。 v0.4.1 已經新建了分支作為存檔,並且該不會再進行更新了。

目錄

第一章: pytorch 入門

1. Pytorch 簡介

2. Pytorch 環境搭建

3. PyTorch 深度學習:60 分鐘快速入門 (官方)

張量

Autograd: 自動求導

神經網路

訓練一個分類器

選讀:數據並行處理 (多 GPU)

4. 相關資源介紹

第二章 基礎

第一節 PyTorch 基礎

張量

自動求導

神經網路包 nn 和優化器 optm

數據的載入和預處理

第二節 深度學習基礎及數學原理

深度學習基礎及數學原理

第三節 神經網路簡介

神經網路簡介

第四節 卷積神經網路

卷積神經網路

第五節 循環神經網路

循環神經網路

第三章 實踐

第一節 logistic 回歸二元分類

logistic 回歸二元分類

第二節 CNN:MNIST 數據集手寫數字識別

CNN:MNIST 數據集手寫數字識別

第三節 RNN 實例:通過 Sin 預測 Cos

RNN 實例:通過 Sin 預測 Cos

第四章 提高

第一節 Fine-tuning

Fine-tuning

第二節 可視化

visdom

tensorboardx

第三節 fastai

第四節 數據處理技巧

第五節 並行計算

第五章 應用

第一節 Kaggle 介紹

第二節 結構化數據

第三節 計算機視覺

第四節 自然語言處理

第五節 協同過濾

第六章 資源

試讀:Pytorch 簡介、Pytorch 環境搭建

1.1 Pytorch 簡介

1.1.1 PyTorch 的由來

很多人都會拿 PyTorch 和 Google 的 Tensorflow 進行比較,這個肯定是沒有問題的,因為他們是最火的兩個深度學習框架了。但是說到 PyTorch,其實應該先說 Torch。

1.1.2 Torch 是什麼?

Torch 英譯中:火炬

A Tensor library like Numpy, unlike Numpy it has strong GPU support. Luaisa wrapperforTorch (Yes! you need to have a good understanding of Lua),andforthat you will need LuaRocks package manager.

Torch 是一個與 Numpy 類似的張量(Tensor)操作庫,與 Numpy 不同的是 Torch 對 GPU 支持的很好,Lua 是 Torch 的上層包裝。

Torchisnotgoing anywhere. PyTorchandTorch use the same C libraries that contain all the performance: TH, THC, THNN, THCUNNandthey willcontinueto be shared.

We stillandwill have continued engineering on Torch itself,andwe have no immediate plan to remove that.

PyTorch 和 Torch 使用包含所有相同性能的 C 庫:TH, THC, THNN, THCUNN,並且它們將繼續共享這些庫。

這樣的回答就很明確了,其實 PyTorch 和 Torch 都使用的是相同的底層,只是使用了不同的上層包裝語言。

註:LUA 雖然快,但是太小眾了,所以才會有 PyTorch 的出現。

1.1.3 重新介紹 PyTorch

PyTorchisan open source machine learning libraryforPython, based on Torch, usedforapplications suchasnatural language processing. Itisprimarily developed by Facebook"s artificial-intelligence research group, and Uber"s"Pyro"softwareforprobabilistic programmingisbuilt on it.

PyTorch 是一個基於 Torch 的 Python 開源機器學習庫,用於自然語言處理等應用程序。 它主要由 Facebook 的人工智慧研究小組開發。Uber 的 "Pyro" 也是使用的這個庫。

PyTorchisa Python package that provides two high-level features:

Tensor computation (like NumPy)withstrong GPU acceleration

Deep neural networks built on a tape-based autograd system

You can reuse your favorite Python packages suchasNumPy, SciPyandCython to extend PyTorch when needed.

PyTorch 是一個 Python 包,提供兩個高級功能:

具有強大的 GPU 加速的張量計算(如 NumPy)

包含自動求導系統的的深度神經網路

1.1.4 對比 PyTorch 和 Tensorflow

沒有好的框架,只有合適的框架, 這裡有個簡單的對比,所以這裡就不詳細再說了 https://zhuanlan.zhihu.com/p/28636490 並且技術是發展的,這裡的對比也不是絕對的,比如 Tensorflow 在 1.5 版的時候就引入了 Eager Execution 機制實現了動態圖,PyTorch 的可視化,windows 支持,沿維翻轉張量等問題都已經不是問題了。

1.1.5 再次總結

PyTorch 算是相當簡潔優雅且高效快速的框架

設計追求最少的封裝,盡量避免重複造輪子

算是所有的框架中面向對象設計的最優雅的一個,設計最符合人們的思維,它讓用戶儘可能地專註於實現自己的想法

大佬支持,與 google 的 Tensorflow 類似,FAIR 的支持足以確保 PyTorch 獲得持續的開發更新

不錯的的文檔(相比 FB 的其他項目,PyTorch 的文檔簡直算是完善了,參考 Thrift),PyTorch 作者親自維護的論壇 供用戶交流和求教問題

入門簡單

所以如果以上信息有吸引你的內容,那麼請一定要讀完這本書:)

1.2 Pytorch 環境搭建

PyTorch 的安裝十分簡單,根據 PyTorch 官網,對系統選擇和安裝方式等靈活選擇即可。 這裡以 anaconda 為例,簡單的說一下步驟和要點。 國內安裝 anaconda 建議使用清華或者中科大 [http://mirrors.ustc.edu.cn/help/anaconda.html] 鏡像,快的不是一點半點。

1.2.1 安裝 Pytorch

anaconda 安裝完成後可以開始創建環境,這裡以 win10 系統為例。打開 Anaconda Prompt

#pytorch 為環境名,這裡創建 python3.6 版。

conda create -n pytorch python=3.6

# 切換到 pytorch 環境

activate pytorch

#安裝 GPU 版本,根據 cuda 版本選擇 cuda80,cuda92,如果 cuda 是 9.0 版,則不需要

#直接 conda install pytorch -c pytorch 即可

# win 下查看 cuda 版本命令 nvcc -V

conda install pytorch cuda92 -c pytorch

# cpu 版本使用

# conda install pytorch-cpu -c pytorch

# torchvision 是 torch 提供的計算機視覺工具包,後面介紹

pip install torchvision

需要說明的一點是如果使用清華源,可以直接添加 pytorch 源鏡像去掉,並且去掉 - c pytorch 這樣才能使用鏡像源。

驗證輸入 python 進入

importtorch

torch.__version__

# 得到結果 "0.4.1"

1.2.2 配置 Jupyter Notebook

新建的環境是沒有安裝安裝 ipykernel 的所以無法註冊到 Jupyter Notebook 中,所以先要準備下環境

#安裝 ipykernel

conda install ipykernel

#寫入環境

python -m ipykernel install --name pytorch --display-name"Pytorch for Deeplearning"

下一步就是定製 Jupyter Notebook

#切換回基礎環境

activate base

#創建 jupyter notebook 配置文件

jupyter notebook --generate-config

## 這裡會顯示創建 jupyter_notebook_config.py 的具體位置

打開文件,修改

c.NotebookApp.notebook_dir =""默認目錄位置

c.NotebookApp.iopub_data_rate_limit =100000000這個改大一些否則有可能報錯

1.2.3 測試

至此 Pytorch 的開發環境安裝完成,可以在開始菜單中打開 Jupyter Notebook 在 New 菜單中創建文件時選擇 Pytorch for Deeplearning 創建 PyTorch 的相關開發環境了

1.2.4 問題解決

問題 1:啟動 python 提示編碼錯誤

刪除 .python_history 來源

問題 2 默認目錄設置不起效

打開快捷方式,看看快捷方式是否跟這個截圖一樣,如果是則刪除 % USERPROFILE% 改參數會覆蓋掉 notebook_dir 設置,導致配置不起效

如果你還發現其他問題,請直接留言

1.3 PyTorch 深度學習:60 分鐘快速入門 (官方)

本章為官方網站的 [Deep Learning with PyTorch: A 60 Minute Blitz] (https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html) 的中文翻譯,目前在網上看到所有中文翻譯版本都已經過時了,所以才又從新翻譯了一遍,確保與官方同步

目錄

張量

Autograd: 自動求導 本章是衝突的重災區,建議閱讀

神經網路

訓練一個分類器

選讀:數據並行處理 (多 GPU)

說明

本章中的所有圖片均來自於 PyTorch 官網,版權歸 PyTorch 所有.

更多閱讀


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

2019 TOP AI 100:曠視在內6家中國獨角獸上榜,美國77家
特朗普簽署美國AI計劃單挑中國歐盟加拿大,確保全球霸主地位

TAG:新智元 |