1. 程式人生 > >『TensorFlow2.0正式版』TF2.0+Keras速成教程·零:開篇簡介與環境準備

『TensorFlow2.0正式版』TF2.0+Keras速成教程·零:開篇簡介與環境準備

此篇教程參考自TensorFlow 2.0 + Keras Crash Course,在原文的基礎上進行了適當的總結與改編,以適應於國內開發者的理解與使用,水平有限,如果寫的不對的地方歡迎大家評論指出。覺得文章有用的話麻煩點贊,想看原文可以點選連結kx上網訪問。


 

0 序

TensorFlow經過四年的發展,逐漸成為深度學習與機器學習框架的霸主,市場佔有率與使用者都遙遙領先於其他競爭對手。下圖為下圖是KDnuggets網站對2018年的機器學習框架的使用做的一個調查統計。可以可以看出當時TensorFlow已經遙遙領先於其他競爭(Keras 是一個上層封裝,底層呼叫的還是 TensorFlow),奠定了其深度學習霸主的地位。

如果想了解TensorFlow的發展史,可以檢視筆者CSDN約稿文章:『王霸之路』從0.1到2.0一文看盡TensorFlow奮鬥史

TensorFlow和Keras都是在4年前釋出的(Keras為2015年3月,TensorFlow為2015年11月)。在深度學習時代這是很長的時間!

在過去,TensorFlow 1.x + Keras存在許多已知問題:

  • 使用TensorFlow意味著要處理靜態計算圖,對於習慣於命令式編碼的程式設計師而言,這將感到尷尬且困難。
  • 雖然TensorFlow API非常強大和靈活,但它缺乏完善性,常常令人困惑或難以使用。
  • 儘管Keras的生產率很高且易於使用,但對於研究用例通常缺乏靈活性。

TensorFlow 2.0建立在以下關鍵思想之上:

  • 讓使用者像在Numpy中一樣急切地執行他們的計算。這使TensorFlow 2.0程式設計變得直觀而Pythonic。
  • 保留已編譯圖形的顯著優勢(用於效能,分佈和部署)。這使TensorFlow快速,可擴充套件且可投入生產。
  • 利用Keras作為其高階深度學習API,使TensorFlow易於上手且高效。
  • 將Keras擴充套件到從非常高階(更易於使用,不太靈活)到非常低階(需要更多專業知識,但提供了極大靈活性)的工作流範圍。

本系列教程綜合了TensorFlow 2.0靈活方便與Keras簡單好用的特點,使得開發人員能在幾天的學習使用之後能掌握TensorFlow 2.0與Keras的簡單使用。但是如果想真正掌握和理解深度學習技術,開發有趣好玩的應用,那麼深度學習概念的學習是不可或缺的,需要讀者自己花大量時間去學習和理解了。最後還是希望大家在學習深度學習開發中不要流於表面,更應該理解演算法的意義與特點,而不是僅僅簡單呼叫介面。這就是深度學習工程師與程式設計人員的區別了。

本系列教程包括三個部分:

  1. 環境準備
  2. TensorFlow使用指南
  3. Keras介面的使用

教程內容首發在我的知識星球:AI深度學習應用之路·幾杯奶茶的價格學習掌握深度學習,歡迎點選訪問。


1 環境準備

TensorFlow2.0正式版的安裝可以參看筆者的詳細安裝教程:『TensorFlow2.0正式版』極簡安裝TF2.0正式版(CPU&GPU)教程,這裡為了演示方便,只展示了TF2.0 CPU的安裝。

我目前是在Windows10上面,使用conda管理的python環境,通過conda安裝cuda與cudnn(GPU支援),通過pip安裝的tensorflow2.0。經過嘗試只是最簡單地安裝方式,無需配置複雜環境。

(關於ubuntu與mac版本的安裝可以仿照此方法,因為conda支援多平臺,應該沒什麼問題,如果大家問題多的話,可以評論,我後面會會更新ubuntu安裝教程)

1.0 conda環境準備

conda是很好用python管理工具,可以方便建立管理多個python環境。後面安裝的步驟裡我也會介紹一些常用的conda指令。

conda 我推薦使用安裝miniconda,大家可以理解為精簡版的anaconda,只保留了一些必備的元件,所以安裝會比快上很多,同時也能滿足我們管理python環境的需求。(anaconda一般在固態硬碟安裝需要佔用幾個G記憶體,花費1-2個小時,miniconda一般幾百M,10分鐘就可以安裝完成了)

miniconda推薦使用清華源下載:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

選擇適合自己的版本就可以,

  • windows推薦地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Windows-x86_64.exe
  • ubuntu推薦地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh
  • Mac os推薦地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-MacOSX-x86_64.pkg

下以windows版本來安裝miniconda作為演示,從上述下載合適版本,下載好後以管理員許可權開啟點選安裝。

注意這兩個都要勾選,一個是讓我們可以直接在cmd使用conda指令,第二個是把miniconda自帶的python3.7作為系統python。

安裝好後就可以在cmd中使用conda指令了,cmd開啟方式,windows鍵+R鍵,彈出輸入框,輸入cmd就進入了。也可以直接在windows搜尋cmd點選執行。

下面介紹些cmd conda指令:

  1. 檢視conda環境:conda env list
  2. 新建conda環境(env_name就是建立的環境名,可以自定義):conda create -n env_name
  3. 啟用conda環境(ubuntu與Macos 將conda 替換為source):conda activate env_name
  4. 退出conda環境:conda deactivate
  5. 安裝和解除安裝python包:conda install numpy # conda uninstall numpy
  6. 檢視已安裝python列表:conda list -n env_name

知道這些指令就可以開始使用conda新建一個環境安裝TF2.0了。

1.1 TF2.0 CPU版本安裝

TF CPU安裝比較簡單,因為不需要配置GPU,所以windows ubuntu macOS安裝方式都類似,缺點就是執行速度慢,但是用於日常學習使用還是可以的。

下面以windows版本做演示:一下均在命令列操作

1.1.0 新建TF2.0 CPU環境(使用conda 新建環境指令 python=3.6表示在新建環境時同時python3.6)

conda create -n TF_2C python=3.6

當彈出 :Proceed ([y]/n)? 輸入y回車

完成後就可以進入此環境

1.1.1 進入TF_2C環境

conda activate TF_2C

進入後我們就可以發現:(TF_2C)在之前路徑前面,表示進入了這個環境。

 

1.1.2 安裝TF2.0 CPU版本(後面的 -i 表示從國內清華源下載,速度比預設源快很多)

pip install tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果網不好的,多執行幾次。然後過一會就安裝好啦。下面我們做下簡單測試。

1.1.3 測試TF2.0 CPU版本(把下面程式碼儲存到demo.py使用TF_2C python執行)

import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)

如果沒有問題的話輸出結果如下:可以看到tf 版本為2.0.0 因為是cpu版本,所以gpu 為False

tf version: 2.0.0
use GPU False
&nbs