带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)
知識更新非常快,需要一直學(xué)習(xí)才能跟上時代進步,舉個例子:吳恩達老師在深度學(xué)習(xí)課上講的TensorFlow使用,這個肯定是他近幾年才學(xué)的,因為谷歌開源了TensorFlow也就很短的時間。
吳恩達老師以前還在用Octave教學(xué)呢,但是后來就不用那個工具了,因為:過時了!!需要學(xué)習(xí)新知識了。
本文根據(jù)群友的要求,整理了4份TensorFlow的入門資料,很負責(zé)任地說:看完這些資料,TensorFlow基本入門了,接下來碰到問題能自己查資料解決了!
(本文作者:黃海廣)
推薦資料
1.吳恩達深度學(xué)習(xí)筆記中的TensorFlow部分
這部分可以說是一個科普入門,學(xué)完后對TensorFlow會有一定的理解,接下來會容易點(第二門課第三周第3.11節(jié),對應(yīng)筆記p247-253,筆記可以在我的github下載:github介紹)
筆記截圖:
圖:深度學(xué)習(xí)筆記截圖
2.TensorFlow2.0樣例(github標(biāo)星34000+)
TensorFlow推出2.0版本后,TF2.0相比于1.x版本默認使用Keras、Eager Execution、支持跨平臺、簡化了API等。這次更新使得TF2.0更加的接近PyTorch,一系列煩人的概念將一去不復(fù)返。推薦一位大神寫的TF2.0的樣例代碼,推薦參考。
資源地址:
https://github.com/aymericdamien/TensorFlow-Examples
資源介紹:
本資源旨在通過示例輕松深入了解TensorFlow。?為了便于閱讀,它包括notebook和帶注釋的源代碼。
它適合想要找到關(guān)于TensorFlow的清晰簡潔示例的初學(xué)者。?除了傳統(tǒng)的“原始”TensorFlow實現(xiàn),您還可以找到最新的TensorFlow API實踐(例如layers,estimator,dataset, ......)。
最后更新(08/17/2019):添加新示例(TF2.0)。
配置環(huán)境:
python 3.6以上,TensorFlow 1.8+
資源目錄:
0 ?- 先決條件
機器學(xué)習(xí)簡介
MNIST數(shù)據(jù)集簡介
1 ?- 簡介
Hello World(包含notebook和py源代碼)。非常簡單的例子,學(xué)習(xí)如何使用TensorFlow打印“hello world”。
基本操作(包含notebook和py源代碼)。一個涵蓋TensorFlow基本操作的簡單示例。
TensorFlow Eager API基礎(chǔ)知識(包含notebook和py源代碼)。開始使用TensorFlow的Eager API。
2 ?- 基礎(chǔ)模型
線性回歸(包含notebook和py源代碼)。使用TensorFlow實現(xiàn)線性回歸。
線性回歸(eager api)(包含notebook和py源代碼)。使用TensorFlow的Eager API實現(xiàn)線性回歸。
Logistic回歸(包含notebook和py源代碼)。使用TensorFlow實現(xiàn)Logistic回歸。
Logistic回歸(eager api)(包含notebook和py源代碼)。使用TensorFlow的Eager API實現(xiàn)Logistic回歸。
最近鄰(包含notebook和py源代碼)。使用TensorFlow實現(xiàn)最近鄰算法。
K-Means(包含notebook和py源代碼)。使用TensorFlow構(gòu)建K-Means分類器。
隨機森林(包含notebook和py源代碼)。使用TensorFlow構(gòu)建隨機森林分類器。
Gradient Boosted Decision Tree(GBDT)(包含notebook和py源代碼)。使用TensorFlow構(gòu)建梯度提升決策樹(GBDT)。
Word2Vec(詞嵌入)(包含notebook和py源代碼)。使用TensorFlow從Wikipedia數(shù)據(jù)構(gòu)建詞嵌入模型(Word2Vec)。
3 ?- 神經(jīng)網(wǎng)絡(luò)
監(jiān)督學(xué)習(xí)部分
簡單神經(jīng)網(wǎng)絡(luò)(包含notebook和py源代碼)。構(gòu)建一個簡單的神經(jīng)網(wǎng)絡(luò)(如多層感知器)來對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。Raw TensorFlow實現(xiàn)。
簡單神經(jīng)網(wǎng)絡(luò)(tf.layers / estimator api)(包含notebook和py源代碼)。使用TensorFlow'layers'和'estimator'API構(gòu)建一個簡單的神經(jīng)網(wǎng)絡(luò)(如:Multi-layer Perceptron)來對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。
簡單神經(jīng)網(wǎng)絡(luò)(Eager API)(包含notebook和py源代碼)。使用TensorFlow Eager API構(gòu)建一個簡單的神經(jīng)網(wǎng)絡(luò)(如多層感知器)來對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。
卷積神經(jīng)網(wǎng)絡(luò)(包含notebook和py源代碼)。構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)以對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。Raw TensorFlow實現(xiàn)。
卷積神經(jīng)網(wǎng)絡(luò)(tf.layers / estimator api)(包含notebook和py源代碼)。使用TensorFlow'layers'和'estimator'API構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。
遞歸神經(jīng)網(wǎng)絡(luò)(LSTM)(包含notebook和py源代碼)。構(gòu)建遞歸神經(jīng)網(wǎng)絡(luò)(LSTM)以對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。
雙向LSTM(包含notebook和py源代碼)。構(gòu)建雙向遞歸神經(jīng)網(wǎng)絡(luò)(LSTM)以對MNIST數(shù)字?jǐn)?shù)據(jù)集進行分類。
動態(tài)LSTM(包含notebook和py源代碼)。構(gòu)建一個遞歸神經(jīng)網(wǎng)絡(luò)(LSTM),執(zhí)行動態(tài)計算以對不同長度的序列進行分類。
無監(jiān)督
自動編碼器(包含notebook和py源代碼)。構(gòu)建自動編碼器以將圖像編碼為較低維度并重新構(gòu)建它。
變分自動編碼器((包含notebook和py源代碼)。構(gòu)建變分自動編碼器(VAE),對噪聲進行編碼和生成圖像。
GAN(Generative Adversarial Networks)(包含notebook和py源代碼)。構(gòu)建生成對抗網(wǎng)絡(luò)(GAN)以從噪聲生成圖像。
DCGAN(Deep Convolutional Generative Adversarial Networks)(包含notebook和py源代碼)。構(gòu)建深度卷積生成對抗網(wǎng)絡(luò)(DCGAN)以從噪聲生成圖像。
4 ?- 工具
保存和還原模型(包含notebook和py源代碼)。使用TensorFlow保存和還原模型。
Tensorboard ?- 圖形和損失可視化(包含notebook和py源代碼)。使用Tensorboard可視化計算圖并繪制損失。
Tensorboard ?- 高級可視化(包含notebook和py源代碼)。深入了解Tensorboard;可視化變量,梯度等......
5 ?- 數(shù)據(jù)管理
構(gòu)建圖像數(shù)據(jù)集(包含notebook和py源代碼)。使用TensorFlow數(shù)據(jù)隊列,從圖像文件夾或數(shù)據(jù)集文件構(gòu)建您自己的圖像數(shù)據(jù)集。
TensorFlow數(shù)據(jù)集API(包含notebook和py源代碼)。引入TensorFlow數(shù)據(jù)集API以優(yōu)化輸入數(shù)據(jù)管道。
6 ?- 多GPU
多GPU的基本操作(包含notebook和py源代碼)。在TensorFlow中引入多GPU的簡單示例。
在多GPU上訓(xùn)練神經(jīng)網(wǎng)絡(luò)(包含notebook和py源代碼)。一個清晰簡單的TensorFlow實現(xiàn),用于在多個GPU上訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。
數(shù)據(jù)集
一些示例需要MNIST數(shù)據(jù)集進行訓(xùn)練和測試。官方網(wǎng)站:http://yann.lecun.com/exdb/mnist/
3.《機器學(xué)習(xí)實戰(zhàn):基于Scikit-Learn和TensorFlow》
推薦一本機器學(xué)習(xí)和TensorFlow入門的好書:《機器學(xué)習(xí)實戰(zhàn):基于Scikit-Learn和TensorFlow》。
本書主要分為兩部分,第一部分(第1~8章)涵蓋機器學(xué)習(xí)的基礎(chǔ)理論知識和基本算法,從線性回歸到隨機森林等,可以幫助你掌握Scikit-Learn的常用方法;第二部份(第9~16章)探討深度學(xué)習(xí)和常用框架TensorFlow,手把手教你使用TensorFlow搭建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),以及卷積神經(jīng)網(wǎng)絡(luò)。
這本書受到廣大機器學(xué)習(xí)愛好者的好評,可以說是機器學(xué)習(xí)入門寶書,豆瓣評分8.2。
這本書假定您有一些 Python 編程經(jīng)驗,并且比較熟悉 Python 的主要科學(xué)庫,特別是 NumPy,Pandas 和 Matplotlib 。
本書作者公開了配套的源代碼:
https://github.com/ageron/handson-ml
國內(nèi)一個公益組織對原版英文書進行了翻譯,制作成markdown文件(md文件推薦使用typora閱讀),可以在github下載:
https://github.com/apachecn/hands-on-ml-zh
針對國內(nèi)下載速度慢,本站對兩個資源進行打包,可以在百度云下載:
鏈接:
https://pan.baidu.com/s/1jihUZrXblxhrVA5FBGU3RQ
提取碼:0xye
若被和諧請留言。
4.《python深度學(xué)習(xí)》
TensorFlow團隊的Josh Gordon推薦這本書,TF2.0基于Keras。如果你是一個深度學(xué)習(xí)新手,最好從這本書入手。當(dāng)然這本書里的代碼需要改一下,但非常簡單:
《python深度學(xué)習(xí)》由Keras之父、現(xiàn)任Google人工智能研究員的弗朗索瓦?肖萊(Franc?ois Chollet)執(zhí)筆,詳盡介紹了用Python和Keras進行深度學(xué)習(xí)的探索實踐,包括計算機視覺、自然語言處理、產(chǎn)生式模型等應(yīng)用。書中包含30多個代碼示例,步驟講解詳細透徹。
作者在github公布了代碼,代碼幾乎囊括了本書所有知識點。在學(xué)習(xí)完本書后,讀者將具備搭建自己的深度學(xué)習(xí)環(huán)境、建立圖像識別模型、生成圖像和文字等能力。但是有一個小小的遺憾:代碼的解釋和注釋是全英文的,即使英文水平較好的朋友看起來也很吃力。
本站認為,這本書和代碼是初學(xué)者入門深度學(xué)習(xí)及Keras最好的工具。
我對全部代碼做了中文解釋和注釋,并下載了代碼所需要的一些數(shù)據(jù)集(尤其是“貓狗大戰(zhàn)”數(shù)據(jù)集),并對其中一些圖像進行了本地化,代碼全部測試通過。(請按照文件順序運行,代碼前后有部分關(guān)聯(lián))。
以下代碼包含了全書80%左右的知識點,代碼目錄:
2.1: A first look at a neural network( 初識神經(jīng)網(wǎng)絡(luò))
3.5: Classifying movie reviews(電影評論分類:二分類問題)
3.6: Classifying newswires(新聞分類:多分類問題 )
3.7: Predicting house prices(預(yù)測房價:回歸問題)
4.4: Underfitting and overfitting( 過擬合與欠擬合)
5.1: Introduction to convnets(卷積神經(jīng)網(wǎng)絡(luò)簡介)
5.2: Using convnets with small datasets(在小型數(shù)據(jù)集上從頭開始訓(xùn)練一個卷積
5.3: Using a pre-trained convnet(使用預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò))
5.4: Visualizing what convnets learn(卷積神經(jīng)網(wǎng)絡(luò)的可視化)
6.1: One-hot encoding of words or characters(單詞和字符的 one-hot 編碼)
6.1: Using word embeddings(使用詞嵌入)
6.2: Understanding RNNs(理解循環(huán)神經(jīng)網(wǎng)絡(luò))
6.3: Advanced usage of RNNs(循環(huán)神經(jīng)網(wǎng)絡(luò)的高級用法)
6.4: Sequence processing with convnets(用卷積神經(jīng)網(wǎng)絡(luò)處理序列)
8.1: Text generation with LSTM(使用 LSTM 生成文本)
8.2: Deep dream(DeepDream)
8.3: Neural style transfer( 神經(jīng)風(fēng)格遷移)
8.4: Generating images with VAEs(用變分自編碼器生成圖像)
8.5: Introduction to GANs(生成式對抗網(wǎng)絡(luò)簡介)
中文注釋與解釋如圖:
圖:代碼的中文注釋與解釋
作者的github:
https://github.com/fchollet/deep-learning-with-python-notebooks
中文注釋代碼:
https://github.com/fengdu78/machine_learning_beginner/tree/master/deep-learning-with-python-notebooks
暫時想到這么多,歡迎留言補充。(黃海廣)
機器學(xué)習(xí)初學(xué)者
黃海廣博士創(chuàng)建的公眾號,黃海廣博士個人知乎粉絲21000+,github排名全球前120名(30000+)。本公眾號致力于人工智能方向的科普性文章,為初學(xué)者提供學(xué)習(xí)路線和基礎(chǔ)資料。原創(chuàng)作品有:吳恩達機器學(xué)習(xí)個人筆記、吳恩達深度學(xué)習(xí)筆記等。
往期精彩回顧
那些年做的學(xué)術(shù)公益-你不是一個人在戰(zhàn)斗
良心推薦:機器學(xué)習(xí)入門資料匯總及學(xué)習(xí)建議
吳恩達機器學(xué)習(xí)課程筆記及資源(github標(biāo)星12000+,提供百度云鏡像)
吳恩達深度學(xué)習(xí)筆記及視頻等資源(github標(biāo)星8500+,提供百度云鏡像)
《統(tǒng)計學(xué)習(xí)方法》的python代碼實現(xiàn)(github標(biāo)星7200+)
精心整理和翻譯的機器學(xué)習(xí)的相關(guān)數(shù)學(xué)資料
首發(fā):深度學(xué)習(xí)入門寶典-《python深度學(xué)習(xí)》原文代碼中文注釋版及電子書
圖解word2vec(原文翻譯)
備注:加入本站微信群或者qq群,請回復(fù)“加群”
加入知識星球(4100+用戶,ID:92416895),請回復(fù)“知識星球”
總結(jié)
以上是生活随笔為你收集整理的带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI For Everyone:Andr
- 下一篇: 终于等到你!GitHub 终于支持 mu