帶你少走彎路:強烈推薦的TensorFlow快速入門資料和翻譯(可下載)

2021-02-08 機器學習初學者

知識更新非常快,需要一直學習才能跟上時代進步,舉個例子:吳恩達老師在深度學習課上講的TensorFlow使用,這個肯定是他近幾年才學的,因為谷歌開源了TensorFlow也就很短的時間。

吳恩達老師以前還在用Octave教學呢,但是後來就不用那個工具了,因為:過時了!需要學習新知識了。

本文根據群友的要求,整理了4份TensorFlow的入門資料,很負責任地說:看完這些資料,TensorFlow基本入門了,接下來碰到問題能自己查資料解決了!

(本文作者:黃海廣)

推薦資料

1.吳恩達深度學習筆記中的TensorFlow部分

這部分可以說是一個科普入門,學完後對TensorFlow會有一定的理解,接下來會容易點(第二門課第三周第3.11節,對應筆記p247-253,筆記可以在我的github下載:github介紹)

筆記截圖:

圖:深度學習筆記截圖

2.TensorFlow2.0樣例(github標星34000+)

TensorFlow推出2.0版本後,TF2.0相比於1.x版本默認使用Keras、Eager Execution、支持跨平臺、簡化了API等。這次更新使得TF2.0更加的接近PyTorch,一系列煩人的概念將一去不復返。推薦一位大神寫的TF2.0的樣例代碼,推薦參考。

資源地址:

https://github.com/aymericdamien/TensorFlow-Examples


資源介紹:

本資源旨在通過示例輕鬆深入了解TensorFlow。 為了便於閱讀,它包括notebook和帶注釋的原始碼。

它適合想要找到關於TensorFlow的清晰簡潔示例的初學者。 除了傳統的「原始」TensorFlow實現,您還可以找到最新的TensorFlow API實踐(例如layers,estimator,dataset, .)。

最後更新(08/17/2019):添加新示例(TF2.0)。


配置環境:

python 3.6以上,TensorFlow 1.8+


資源目錄:

0  - 先決條件

1  - 簡介

Hello World(包含notebook和py原始碼)。非常簡單的例子,學習如何使用TensorFlow列印「hello world」。

基本操作(包含notebook和py原始碼)。一個涵蓋TensorFlow基本操作的簡單示例。

TensorFlow Eager API基礎知識(包含notebook和py原始碼)。開始使用TensorFlow的Eager API。


2  - 基礎模型

線性回歸(包含notebook和py原始碼)。使用TensorFlow實現線性回歸。

線性回歸(eager api)(包含notebook和py原始碼)。使用TensorFlow的Eager API實現線性回歸。

Logistic回歸(包含notebook和py原始碼)。使用TensorFlow實現Logistic回歸。

Logistic回歸(eager api)(包含notebook和py原始碼)。使用TensorFlow的Eager API實現Logistic回歸。

最近鄰(包含notebook和py原始碼)。使用TensorFlow實現最近鄰算法。

K-Means(包含notebook和py原始碼)。使用TensorFlow構建K-Means分類器。

隨機森林(包含notebook和py原始碼)。使用TensorFlow構建隨機森林分類器。

Gradient Boosted Decision Tree(GBDT)(包含notebook和py原始碼)。使用TensorFlow構建梯度提升決策樹(GBDT)。

Word2Vec(詞嵌入)(包含notebook和py原始碼)。使用TensorFlow從Wikipedia數據構建詞嵌入模型(Word2Vec)。

3  - 神經網絡

簡單神經網絡(包含notebook和py原始碼)。構建一個簡單的神經網絡(如多層感知器)來對MNIST數字數據集進行分類。Raw TensorFlow實現。

簡單神經網絡(tf.layers / estimator api)(包含notebook和py原始碼)。使用TensorFlow'layers'和'estimator'API構建一個簡單的神經網絡(如:Multi-layer Perceptron)來對MNIST數字數據集進行分類。

簡單神經網絡(Eager API)(包含notebook和py原始碼)。使用TensorFlow Eager API構建一個簡單的神經網絡(如多層感知器)來對MNIST數字數據集進行分類。

卷積神經網絡(包含notebook和py原始碼)。構建卷積神經網絡以對MNIST數字數據集進行分類。Raw TensorFlow實現。

卷積神經網絡(tf.layers / estimator api)(包含notebook和py原始碼)。使用TensorFlow'layers'和'estimator'API構建卷積神經網絡,對MNIST數字數據集進行分類。

遞歸神經網絡(LSTM)(包含notebook和py原始碼)。構建遞歸神經網絡(LSTM)以對MNIST數字數據集進行分類。

雙向LSTM(包含notebook和py原始碼)。構建雙向遞歸神經網絡(LSTM)以對MNIST數字數據集進行分類。

動態LSTM(包含notebook和py原始碼)。構建一個遞歸神經網絡(LSTM),執行動態計算以對不同長度的序列進行分類。


自動編碼器(包含notebook和py原始碼)。構建自動編碼器以將圖像編碼為較低維度並重新構建它。

變分自動編碼器((包含notebook和py原始碼)。構建變分自動編碼器(VAE),對噪聲進行編碼和生成圖像。

GAN(Generative Adversarial Networks)(包含notebook和py原始碼)。構建生成對抗網絡(GAN)以從噪聲生成圖像。

DCGAN(Deep Convolutional Generative Adversarial Networks)(包含notebook和py原始碼)。構建深度卷積生成對抗網絡(DCGAN)以從噪聲生成圖像。


4  - 工具

保存和還原模型(包含notebook和py原始碼)。使用TensorFlow保存和還原模型。

Tensorboard  - 圖形和損失可視化(包含notebook和py原始碼)。使用Tensorboard可視化計算圖並繪製損失。

Tensorboard  - 高級可視化(包含notebook和py原始碼)。深入了解Tensorboard;可視化變量,梯度等.


5  - 數據管理


6  - 多GPU


數據集

3.《機器學習實戰:基於Scikit-Learn和TensorFlow》

推薦一本機器學習和TensorFlow入門的好書:《機器學習實戰:基於Scikit-Learn和TensorFlow》。

本書主要分為兩部分,第一部分(第1~8章)涵蓋機器學習的基礎理論知識和基本算法,從線性回歸到隨機森林等,可以幫助你掌握Scikit-Learn的常用方法;第二部份(第9~16章)探討深度學習和常用框架TensorFlow,手把手教你使用TensorFlow搭建和訓練深度神經網絡,以及卷積神經網絡。

這本書受到廣大機器學習愛好者的好評,可以說是機器學習入門寶書,豆瓣評分8.2。

這本書假定您有一些 Python 編程經驗,並且比較熟悉 Python 的主要科學庫,特別是 NumPy,Pandas 和 Matplotlib 。

https://github.com/ageron/handson-ml

https://github.com/apachecn/hands-on-ml-zh

針對國內下載速度慢,本站對兩個資源進行打包,可以在百度雲下載:

連結:

https://pan.baidu.com/s/1jihUZrXblxhrVA5FBGU3RQ

提取碼:0xye

若被和諧請留言。


4.《python深度學習》

TensorFlow團隊的Josh Gordon推薦這本書,TF2.0基於Keras。如果你是一個深度學習新手,最好從這本書入手。當然這本書裡的代碼需要改一下,但非常簡單:

import keras -> from tensorflow import keras

python深度學習》由Keras之父、現任Google人工智慧研究員的弗朗索瓦•肖萊(François Chollet)執筆,詳盡介紹了用Python和Keras進行深度學習的探索實踐,包括計算機視覺、自然語言處理、產生式模型等應用。書中包含30多個代碼示例,步驟講解詳細透徹。

作者在github公布了代碼,代碼幾乎囊括了本書所有知識點。在學習完本書後,讀者將具備搭建自己的深度學習環境、建立圖像識別模型、生成圖像和文字等能力。但是有一個小小的遺憾:代碼的解釋和注釋是全英文的,即使英文水平較好的朋友看起來也很吃力。

本站認為,這本書和代碼是初學者入門深度學習及Keras最好的工具。

我對全部代碼做了中文解釋注釋,並下載了代碼所需要的一些數據集(尤其是「貓狗大戰」數據集),並對其中一些圖像進行了本地化,代碼全部測試通過。(請按照文件順序運行,代碼前後有部分關聯)。

以下代碼包含了全書80%左右的知識點,代碼目錄:

2.1: A first look at a neural network( 初識神經網絡)

3.5: Classifying movie reviews(電影評論分類:二分類問題)

3.6: Classifying newswires(新聞分類:多分類問題 )

3.7: Predicting house prices(預測房價:回歸問題)

4.4: Underfitting and overfitting( 過擬合與欠擬合)

5.1: Introduction to convnets(卷積神經網絡簡介)

5.2: Using convnets with small datasets(在小型數據集上從頭開始訓練一個卷積

5.3: Using a pre-trained convnet(使用預訓練的卷積神經網絡)

5.4: Visualizing what convnets learn(卷積神經網絡的可視化)

6.1: One-hot encoding of words or characters(單詞和字符的 one-hot 編碼)

6.1: Using word embeddings(使用詞嵌入)

6.2: Understanding RNNs(理解循環神經網絡)

6.3: Advanced usage of RNNs(循環神經網絡的高級用法)

6.4: Sequence processing with convnets(用卷積神經網絡處理序列)

8.1: Text generation with LSTM(使用 LSTM 生成文本)

8.2: Deep dream(DeepDream)

8.3: Neural style transfer( 神經風格遷移)

8.4: Generating images with VAEs(用變分自編碼器生成圖像)

8.5: Introduction to GANs(生成式對抗網絡簡介)


中文注釋與解釋如圖:

圖:代碼的中文注釋與解釋

作者的github:

https://github.com/fchollet/deep-learning-with-python-notebooks

中文注釋代碼:

https://github.com/fengdu78/machine_learning_beginner/tree/master/deep-learning-with-python-notebooks

暫時想到這麼多,歡迎留言補充。(黃海廣)

機器學習初學者


黃海廣博士創建的公眾號,黃海廣博士個人知乎粉絲21000+,github排名全球前120名(30000+)。本公眾號致力於人工智慧方向的科普性文章,為初學者提供學習路線和基礎資料。原創作品有:吳恩達機器學習個人筆記、吳恩達深度學習筆記等。

往期精彩回顧

相關焦點

  • 帶你少走彎路:強烈推薦的Keras快速入門資料和翻譯(可下載)
    的快速入門資料,受到很多好評,讀者強烈建議我再出一個keras的快速入門路線,經過翻譯和搜索網上資源,我推薦4份入門資料,希望對大家有所幫助。備註:另外兩個入門資料TensorFlow的快速入門資料PyTorch的快速入門資料
  • 帶你少走彎路:強烈推薦的Pytorch快速入門資料和翻譯(可下載)
    ,受到很多好評,讀者強烈建議我出一個pytorch的快速入門路線,經過翻譯和搜索網上資源,我推薦3份入門資料,希望對大家有所幫助。備註:TensorFlow的快速入門資料很負責任地說:看完這些資料,Pytorch基本入門了,接下來碰到問題能自己查資料解決了!
  • Tensorflow 全網最全學習資料匯總之Tensorflow 的入門與安裝【2】
    《TensorFlow學習筆記1:入門》連結:http://www.jeyzhang.com/tensorflow-learning-notes.html本文與上一篇的行文思路基本一致,首先概括了TensorFlow的特性,然後介紹了graph、session、variable 等基本概念的含義,以具體代碼的形式針對每個概念給出了進一步的解釋
  • 使用Python+Tensorflow的CNN技術快速識別驗證碼
    北京 上海巡迴站 | NVIDIA DLI深度學習培訓NVIDIA 深度學習學院 帶你快速進入火熱的DL領域正文共2929個字,17張圖,預計閱讀時間:8分鐘。近年來,機器學習變得愈加火熱,中國選手柯潔與AlphaGo的人機大戰更是引起熱議。目前,在圖像識別和視覺分析研究中,卷積神經網絡(CNN)技術的使用越來越多。
  • TensorFlow極速入門
    熱衷於深度學習技術的探索,對新事物有著強烈的好奇心。一、前言目前,深度學習已經廣泛應用於各個領域,比如圖像識別,圖形定位與檢測,語音識別,機器翻譯等等,對於這個神奇的領域,很多童鞋想要一探究竟,這裡拋磚引玉的簡單介紹下最火的深度學習開源框架 tensorflow。
  • tensorflow極速入門
    一、前言目前,深度學習已經廣泛應用於各個領域,比如圖像識別,圖形定位與檢測,語音識別,機器翻譯等等,對於這個神奇的領域,很多童鞋想要一探究竟,這裡拋磚引玉的簡單介紹下最火的深度學習開源框架 tensorflow。本教程不是 cookbook,所以不會將所有的東西都事無巨細的講到,所有的示例都將使用 python。那麼本篇教程會講到什麼?
  • 帶你入門機器學習與TensorFlow2.x
    深度神經網絡本身並不是一個全新的概念,可大致理解為包含多個隱含層的神經網絡結構。為了提高深層神經網絡的訓練效果,人們對神經元的連接方法和激活函數等方面做出相應的調整。其實有不少想法早年間也曾有過,但由於當時用於訓練的數據量不足、計算能力落後,因此最終的效果不盡如人意。
  • 可能是史上最全的Tensorflow學習資源匯總
    ,一步步帶你從入門到精通,是初學者學習Tensorflow的最佳教程。2)從Tensorflow基礎知識到有趣的項目應用:https://github.com/pkmital/tensorflow_tutorials同樣是適合新手的教程,從安裝到項目實戰,教你搭建一個屬於自己的神經網絡。
  • TensorFlow圖像分類教程
    雲棲君導讀:深度學習算法與計算機硬體性能的發展,使研究人員和企業在圖像識別、語音識別、推薦引擎和機器翻譯等領域取得了巨大的進步。
  • 【前沿】NIPS2017貝葉斯生成對抗網絡TensorFlow實現(附GAN資料下載)
    貝葉斯生成式對抗網絡能夠避免模式碰撞,產生可判斷的、多樣化的候選樣本,並且提供在既有的一些基準測試上,能夠提供最好的半監督學習量化結果,比如,SVHN, CelebA 和 CIFAR-10,其效果遠遠超過 DCGAN, Wasserstein GANs 和 DCGAN 等等。
  • TensorFlow 中文資源全集,學習路徑推薦
    入門教程,簡單的模型學習和運行。實戰項目,根據自己的需求進行開發。/GitHub:https://github.com/tensorflow安裝教程中文安裝教程Mac安裝:http://www.cnblogs.com/tensorflownews/p/7298646.htmlubuntu 16.04 安裝 tensorflow-gpu:http://www.tensorflownews.com/2017/09/02/tensorflow-gpu-install-ubuntu
  • TensorFlow入門必看:Google AI實習生經驗談
    前言:「我叫 Jacob,是谷歌 AI Residency 項目的學者。有很多 Tensorflow 的入門教程,內容涵蓋線性回歸、MNIST 分類乃至機器翻譯。這些內容具體、實用的指南能幫助人們快速啟動並運行 Tensorflow 項目,並且可以作為類似項目的切入點。但有的開發者開發的應用並沒有很好的教程參考,還有的項目在探索全新的路線(研究中很常見),對於這些開發者來說入門 Tensorflow 是非常容易感到困惑的。
  • tensorflow安裝教程
    tensorflow是谷歌開源的人工智慧庫,有最完善的生態支持。是進行人工智慧領域開發和科研的必備工具。本文在windows10下,藉助anacondaAnaconda安裝和使用,AkShare入門,安裝tensorflow2.0。
  • TensorFlow推出命令式、可定義的運行接口Eager Execution
    這是一個命令式的、可定義的運行接口,它們由Python調用,可用來立即執行操作。簡單來說,eager execution有四大優勢:立即快速調試運行錯誤並與Python工具集成支持用易用Python控制流的動態模型支持自定義和高階梯度幾乎所有TensorFlow操作均可用我們可以通過一些代碼更好理解eager execution,這是很技術的問題,熟悉TensorFlow將幫你更好理解。
  • 基於TensorFlow的深度學習實戰
    毫不誇張得說,TensorFlow的流行讓深度學習門檻變得越來越低,只要你有Python和機器學習基礎,入門和使用神經網絡模型變得非常簡單。TensorFlow簡介如前所述,TensorFlow是一個深度學習庫,使用這一框架,可以用來構建和測試深度神經網絡。深度學習讓我們能夠以極高的準確性構建複雜的應用程式。
  • 最熱門的深度學習框架TensorFlow入門必備書籍
    今天就和大家推薦一本TensorFlow入門書籍之《Tensorflow:實戰Google深度學習框架》在了解這本書之前,不妨先來了解一下什麼是TensorFlow,TensorFlow 是谷歌的第二代機器學習系統, 是一個採用數據流圖,用於數值計算的開源軟體庫。
  • TensorFlowSharp入門使用C#編寫TensorFlow人工智慧應用
    ://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip";            modelFile = Path.Combine(dir, "tensorflow_inception_graph.pb");            labelsFile = Path.Combine(
  • 推薦| ThoughtWorks 大牛教你入門 Tensorflow
    面對人工智慧領域的技術及人才需求,如果你對近幾年研究熱點如 Convolutional GRU, Seq2Seq with Attention,生成式對抗網絡(GAN), 以及強化學習相關內容很感興趣!
  • 推薦:《機器學習實戰:基於Scikit-Learn和TensorFlow》中文翻譯和代碼下載
    本文提供機器學習入門的好書《機器學習實戰:基於Scikit-Learn和TensorFlow》的中文翻譯文件和原始碼下載。一、前言推薦一本機器學習入門的好書:《機器學習實戰:基於Scikit-Learn和TensorFlow》。
  • 深度學習入門:Tensorflow實戰Digit Recognizer(一)
    MNIST數據集上快速跑出一個模型。MNIST在圖像識別領域的地位正如「Hello world」在程式設計師心中的地位,本文將手把手教會大家利用Tensorflow實現一個簡單的Softmax回歸模型,快速完成Kaggle的入門賽Digit Recognizer。