「最全」實至名歸,NumPy官方早有中文教程,結合深度學習,還有防脫髮指南

「最全」實至名歸,NumPy官方早有中文教程,結合深度學習,還有防脫髮指南

「最全」實至名歸,NumPy官方早有中文教程,結合深度學習,還有防脫髮指南

來源 | 機器學習算法那些事

NumPy 無疑是很多機器學習研究者和開發者的「白月光」。如此優秀的項目,沒有中文版怎麼行?近日,機器之心發現 NumPy 官方早在去年就已出了一箇中文版網站,涵蓋 NumPy 的一切。

「最全」实至名归,NumPy官方早有中文教程,结合深度学习,还有防脱发指南

在 Github 上一度蟬聯最流行的機器學習和數據科學包 NumPy,已經有了非常之系統的中文文檔,回想起當初細啃 NumPy 之時,不少人不得不徘徊於各大搜索引擎及平臺反覆查找,找到的文檔也許還很不繫統。現在,如果有什麼和 NumPy 的問題,只需要瀏覽這份官方中文文檔就足夠了。它足夠的系統、全面且親民。親民到什麼程度呢?網站還獨一份的配備了「防脫髮指南」。

NumPy 是什麼?它是大名鼎鼎的,使用 Python 進行科學計算的基礎軟件包,是 Python 生態系統中數據分析、機器學習、科學計算的主力軍,極大簡化了向量與矩陣的操作處理。除了計算外,它還包括了:

  • 功能強大的 N 維數組對象。

  • 精密廣播功能函數。

  • 集成 C/C+和 Fortran 代碼的工具。

  • 強大的線性代數、傅立葉變換和隨機數功能

此次中文文檔還強調了它兩大特性:Ndarray 以及切片和索引,這兩部分所涉及的功能在日常操作中是十分常見的。

  • Ndarray:一系列同類型數據的集合,以 0 下標為開始進行集合中元素的索引。ndarray 對象是用於存放同類型元素的多維數組。ndarray 中的每個元素在內存中都有相同存儲大小的區域。
  • 切片和索引:ndarray 對象的內容可以通過索引或切片來訪問和修改,與 Python 中 list 的切片操作一樣。ndarray 數組可以基於 0 - n 的下標進行索引,切片對象可以通過內置的 slice 函數,並設置 start, stop 及 step 參數進行,從原數組中切割出一個新數組。

官網地址:https://www.NumPy.org.cn

這個官方中文項目內容繁多,文章數量龐大。機器之心在這裡節選了一些亮點內容,供讀者參考。

「最全」实至名归,NumPy官方早有中文教程,结合深度学习,还有防脱发指南

教程、文檔應有盡有,中文版強調和深度學習聯繫

從原理開始,中文版增加理論介紹板塊

這個開源的官方中文版教程可以說是非常全面了。它從最基本的理解 NumPy 開始,教程層層推進,直到讓用戶掌握進階的使用方法。

從內容來看,中文版不僅僅是官方英文版本的翻譯,還額外增加了「文章」這一欄目。該欄目提供了對 NumPy 背後的矩陣運算原理的詳細解釋,使得使用者「知其然,也知其所以然」。這是英文版教程中沒有的。

以下為這一部分的目錄,從這裡可以看到,這部分內容主要介紹 NumPy 的基本理論,以及涉及到其應用的理論部分,如數據分析、神經網絡實現,以及在其他代碼庫中的接口等。

基礎篇

  • 理解 NumPy

  • NumPy 簡單入門教程

  • Python NumPy 教程

  • 創建 NumPy 數組的不同方式

  • NumPy 中的矩陣和向量

進階篇

  • NumPy 數據分析練習

  • NumPy 神經網絡

  • 使用 NumPy 進行數組編程

  • NumPy 實現k均值聚類算法

  • NumPy 實現DNC、RNN和LSTM神經網絡算法

其他篇

  • OpenCV中的圖像的基本操作

  • MinPy:MXNet後端的NumPy接口

我們截取了這些文章的部分內容,可以看到,這裡不僅僅會講 NumPy 所實現的功能,還提供了原理的圖解。

「最全」实至名归,NumPy官方早有中文教程,结合深度学习,还有防脱发指南

對於多維數組的直觀講解(部分),可以看出官方提供了很好的理論解釋和圖示。

注意和深度學習的聯繫

另一方面,NumPy 中文版教程注意到了深度學習近來的發展趨勢,因此推出了結合 NumPy 和百度飛槳框架的深度學習教程。可以說,NumPy 不僅僅只是科學計算工具了,而是深度學習社區的重要組成部分。

如下為這一部分的內容,可以看到,神經網絡相關的所有內容,包括原理和相關實現都涵蓋到了。在這部分還有一個 7 日的深度學習入門課程,供小白用戶參考。

深度學習基礎教程

  • 前言

  • 線性迴歸

  • 數字識別

  • 圖像分類

  • 詞向量

  • 個性化推薦

  • 情感分析

  • 語義角色標註

  • 機器翻譯

  • 生成對抗網絡

七日入門深度學習(正在更新)

  • Day 1:初識深度學習

  • Day 1:如何快速入門深度學習?

  • Day 2:圖像識別基礎與實戰

  • Day 3:目標檢測基礎與實踐(一)

  • Day 3:目標檢測實戰-RCNN算法講解

  • Day 3:目標檢測實戰-YOLOv3檢測物體

以如下代碼為例,這是一個線性迴歸神經網絡構建的代碼部分。可以看到,代碼使用 NumPy 進行加載和預處理,並使用飛槳構建數據分批等的相關函數。

feature_names = [
'CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX',
'PTRATIO', 'B', 'LSTAT', 'convert'
]
feature_num = len(feature_names)
data = np.fromfile(filename, sep=' ') # 從文件中讀取原始數據
data = data.reshape(data.shape[0] // feature_num, feature_num)
maximums, minimums, avgs = data.max(axis=0), data.min(axis=0), data.sum(axis=0)/data.shape[0]

for i in six.moves.range(feature_num-1):
data[:, i] = (data[:, i] - avgs[i]) / (maximums[i] - minimums[i]) # six.moves可以兼容python2和python3

ratio = 0.8 # 訓練集和驗證集的劃分比例
offset = int(data.shape[0]*ratio)
train_data = data[:offset]
test_data = data[offset:]

def reader_creator(train_data):
def reader:
for d in train_data:
yield d[:-1], d[-1:]
return reader

train_reader = paddle.batch(
paddle.reader.shuffle(
reader_creator(train_data), buf_size=500),
batch_size=BATCH_SIZE)

test_reader = paddle.batch(
paddle.reader.shuffle(
reader_creator(test_data), buf_size=500),
batch_size=BATCH_SIZE)

用戶文檔和參考手冊:覆蓋 NumPy 的一切

當然,最核心的部分當然是 NumPy 本身的文檔了。中文版中對用戶的使用文檔和 NumPy 所有 API 都進行了翻譯和整理工作,基本上用戶需要的內容都可以在這裡找到。

用戶文檔目錄如下,這裡還貼心地提供了和「競品」Matlab 的比較,以及 NumPy 在 C 語言下的 API 使用方法。

  • NumPy 介紹

  • 快速入門教程

  • NumPy 基礎知識

  • 其他雜項

  • 與 Matlab 比較

  • 從源代碼構建

  • 使用 NumPy 的 C-API

從這裡可以看到,官方中文版真的是誠意滿滿。不僅提供原始文檔的翻譯,還加上了包括深度學習教程、其他來源的功能+原理解讀材料。對於剛上手 NumPy 的人來說,這就是最佳的學習教程。不管是自學也好,還是用於開發也好,都是極好的。

「最全」实至名归,NumPy官方早有中文教程,结合深度学习,还有防脱发指南

其他資源及文檔

如果讀到這裡你還不過癮?沒關係,官網還有相關配套的文章及視頻,讓你多樣化地保持新鮮感:

「最全」实至名归,NumPy官方早有中文教程,结合深度学习,还有防脱发指南

另外,獨有一份的防脫髮指南讓你入坑之時再無後顧之憂:

「最全」实至名归,NumPy官方早有中文教程,结合深度学习,还有防脱发指南

面向開發者還單獨有一份開發者指南,這是一份詳細的操作清單,如何合理的配置及使用開發環境等一系列問題都已被包含在內。

  • NumPy 行為準則

  • Git 教程

  • 設置和使用您的開發環境

  • 開發流程

  • NumPy 基準測試

  • NumPy C 風格指南

  • 發佈一個版本

  • NumPy 治理

NumPy 的用戶數量龐大,開發者社區也非常繁榮。從包括 PyTorch、NumPy 等開源工具陸續推出中文版文檔來看,中文世界在機器學習領域受到了更大的關注。

【end】




「最全」實至名歸,NumPy官方早有中文教程,結合深度學習,還有防脫髮指南
  • 信息保留的二值神經網絡IR-Net,落地性能和實用性俱佳 | CVPR 2020

  • 人生苦短,不光要用Python,還要在VSCode裡用

  • 清華學霸組團的工業 AIoT 創企再獲數千萬融資:玩家應推動在邊緣 AI 芯片上跑算法

  • 用Java開發自己的Kubernetes控制器,想試試嗎?

  • 字節跳動武漢招聘 2000 人,距離大廠 Offer,你還差這篇 Java 乾貨!| 原力計劃

  • 數字合約如何將所有權下放?如何使用腳本系統將交易轉換為可編程的智能合約?答案就在這篇文章裡!

你點的每個“在看”,我都認真當成了AI


分享到:


相關文章: