PaddlePaddle-GitHub的正確打開姿式

GitHub是一個面向開源及私有軟件項目的託管平臺、也是項目版本管理工具,會使用它是程序員入門的必備技能。PaddlePaddle也不例外,全部的源碼及項目進展都在GitHub上開源公佈。但對於剛入門寫程序的同窗來講,一打開GitHub看起來雲裏霧裏,會有種無從下手的感受,本文給同窗介紹PaddlePaddle在GitHub倉庫上的快速上手指南。git

PaddlePaddle項目介紹程序員

登陸GitHub帳號後,會進入到你的主頁。在左上角的搜索處搜索PaddlePaddle便可進入PaddlePaddle項目主頁面:github

在倉庫選項卡上方,已經置頂了4個最經常使用的倉庫(Repositories,如下簡稱Repo):web

Paddle:這個Repo中,存放了PaddlePaddle框架的全部代碼。因爲在Python調用時的包名叫Paddle,倉庫遂起名叫Paddle。算法

Paddle Mobile: Paddle Mobile是移動端及嵌入式設備的深度學習框架。他與PaddlePaddle框架緊密結合,減小中間翻譯形成的性能損失,使得運行PaddlePaddle模型時運行性能極高,兼容設備很是普遍,支持安卓、iOS、ARM開發板、麒麟芯片、Mali GPU、驍龍GPU、樹莓派等,而且支持FPGA開發板。若是您在進行深度學習移動端開發,強烈建議使用Paddle Mobile框架。docker

Models:是PaddlePaddle官方的模型庫,裏面提供了深度學習諸多領域的經典模型復現。在每次PaddlePaddle版本更新後,咱們的測試及研發人員都會對其中每個模型在20種模擬開發環境下進行測試,以確保用戶在學習使用中避免出現問題。目前對於倉庫內大部分經典模型都應配備了相應的預訓練模型,歡迎你們來體驗。編程

Book:Book是Jupyter notebook的簡稱,是目前主流的機器學習案例教學方案,具備免安裝PaddlePaddle、免配置環境、提供交互式web編程頁面的優點。PaddlePaddle團隊爲初學者提供的八個典型的實驗案例,包含深度學習主流的幾個方向。Book使用Docker+jupyter的打包方案,使初學者即裝即用。瀏覽器

後面的部分是PaddlePaddle生態中全部的項目(repo),例如PARL是PaddlePaddle強化學習框架,FluidDoc包含了全部PaddlePaddle相關的文檔,這裏就不一一列舉了。網絡

四大置頂項目介紹框架

1、GitHub Repo的功能介紹:

進入到Paddle倉庫以後(每個Repo皆是如此)

區域①: 右上角有三個按鈕:

Watch是對Paddle倉庫保持關注,若是此倉庫有更新的動態就會推到你的我的主頁上。

Star是點贊加收藏的結合體,用戶能夠經過一個repo的star數來判斷公衆對他的承認度。您Star過的repo均可以經過點擊頭像,下拉框中的your star中找到:

Fork是將倉庫的代碼所有拷貝至你的帳戶中,除了備份功能外,未來還能夠對Paddle項目提交Pull request。

區域②: 在接下來的選項卡中:

Code就是訪問這個repo時默認打開的頁面,展現了這個repo的代碼結構

Issues是向Paddle研發人員提問的小社區,在Paddle的issues中有研發同窗24小時值班,你們有問題隨時提問喲。

Pull requests裏面給你們公示了全部貢獻者給Paddle核心分支提交代碼的審覈進度、審覈失敗的緣由以及那些代碼經過了審覈。

Projects是GitHub中的項目管理方式,裏面展現的是一個一個項目看板,看板上每個待辦的項目的進展進度。

Wiki中是Paddle項目及開發層面上的一些知識文檔和規範文檔

Insights顯示Paddle倉庫最近的活動信息、倉庫信息和該倉庫的各項指標,讓用戶輕鬆瞭解該倉庫的活動傾向。

區域③: 再下面一欄中:

表示此項目有過21423次代碼更新,有14條項目分支,公開發布過21個版本,有180個代碼貢獻者以及遵循Apache-2.0協議規範。下面的彩虹條表示各語言的代碼在項目中所佔的比例。

2、Paddle Repo介紹:

區域④:佔頁面的最主要部分是文件內容及代碼的目錄結構:

Benchmark目錄裏存放了性能評測對比的結果、代碼以及數據

Cmake目錄裏存放的是源碼編譯之間的鏈式結構

doc目錄裏存放的是文檔文件,但此目錄已經再也不維護,已遷移至FluidDoc Repo

Go目錄裏存放的是使用go語言編寫具有高性能通訊分佈式代碼。

Paddle目錄裏存放的是Paddle底層C++以及CUDA的實現代碼

Python目錄裏存放的是Python接口的實現以及調用方式

Tool目錄裏存放的是一些工程檢測和代碼調試的工具

在實際開發過程當中,看的最多的就是Python目錄,在下圖目錄中展現了Python各類函數接口的實現方法:

這裏有在使用Paddle時用到的各類函數包,例如在Paddle中常見的data_feeder、executor、io、optimizer。若是在開發過程當中對某個函數、算子的實現、使用方式比較疑惑,能夠在這裏直接查看Python接口的源碼來弄明白問題。

3、Paddle Mobile Repo介紹:

Benchmark是Paddle Mobile框架在各個硬件平臺,用各個經典算法的運行效率測試結果。

Demo是官方提供的Paddle Mobile測試demo程序下載腳本,有安卓版和iOS版

Doc裏存放着給開發者提供的Paddle Mobile在各個硬件平臺的開發指南

Metal是iOS的一個圖形渲染框架,裏面提供了Paddle Mobile在此框架下的結合代碼

Src是source的縮寫,裏面存放的是Paddle Mobile的實現代碼

Test目錄裏放的是研發人員用來測試模型、op用的工程代碼,能夠用 CMake編譯成二進制執行文件。

Tools裏存放的大可能是在移動端所須要的調試程序,好比iOS編譯程序、安卓調試腳本、中斷監視程序。

4、Models Repo:

Models是PaddlePaddle的模型倉庫,在此repo中,展現瞭如何用 PaddlePaddle 來解決常見的機器學習任務,提供若干種不一樣的易學易用的神經網絡模型。

Models下fluid是PaddlePaddle最新版本的模型實現代碼,在這裏按照深度學習的應用方向(語音合成、圖像、天然語言處理、語音轉錄等)進行分類。

預訓練權重地址存放在每一個細分項目的readme.md文檔裏,打開細分項目的文檔,拉至最下方,例如image_classification:

能夠看到一個Released models的表格。在表格的model列是模型的名稱,這個名稱是一個超連接,連接對應的是這個模型的預訓練權重下載地址,點擊模型名稱便可下載相應的預訓練模型。

預訓練模型使用攻略可參考文章:

《PaddlePaddle預訓練模型大合集,還有官方使用說明書》

5、Book Repo:

Book是PaddlePaddle針對初學者的一個特點教程,它是一本「交互式」電子書 —— 每一章均可以運行在一個Jupyter Notebook裏。

由項目截圖能夠看出,一共提供了8個學習項目。學習項目安排得不只按部就班,並且包含了多個目前深度學習的主流方向:圖像分類、抽象數據處理、推薦系統、文本序列化、角色語義標註、情感分析系統、機器翻譯系統。

Paddle-book將Jupyter、PaddlePaddle、以及各類被依賴的軟件都打包進一個Docker image了。因此您不須要本身來安裝各類軟件以及PaddlePaddle,只須要安裝Docker便可。

安裝Docker後,只須要在命令行窗口裏運行一步,就會從DockerHub.com下載和運行本書的Docker image:

docker run -d -p 8888:8888 paddlepaddle/book

下載完成後,在本地瀏覽器中訪問 http://localhost:8888,便可閱讀和在線編輯本書。因爲Jupyter的特性,您甚至能夠直接在上面運行代碼。

Paddle-book漫遊指南就到這裏結束了,想了解更多的小夥伴能夠登陸PaddlePaddle的GitHub體驗一下:https://github.com/PaddlePaddle/

您也能夠登陸PaddlePaddle的官網:www.paddlepaddle.org,經過右上方的連接進入:

新年就要到啦,祝你們在新的一年裏PaddlePaddle學的愉快,用的舒心。

相關文章
相關標籤/搜索