Python深度學習--徹底研究,從零開始親手學習類神經網路深度學習-親手徹底研究TensorFlow程式設計
3.9 (102 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
937 students enrolled

Python深度學習--徹底研究,從零開始親手學習類神經網路深度學習-親手徹底研究TensorFlow程式設計

Python深度學習---徹底研究,打好PYTHON基礎,應用在大數據,機器學習和人工智慧,親手實作Cifar-10圖像辨識使用CUDA及CUDNN,親手打造手寫辨識,類神經網路深度學習徹底研究TensorFlow程式設計與強化學習。
3.9 (102 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
937 students enrolled
Last updated 4/2020
Traditional Chinese
Price: $69.99
30-Day Money-Back Guarantee
This course includes
  • 38.5 hours on-demand video
  • 49 downloadable resources
  • 1 Practice Test
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 使用Python作大數據運算基礎
  • 使用Python作機器學習基礎
  • TensorFlow的基礎
  • 手寫辨識數字
  • 使用Python作數學運算
  • 深入淺出Python程式語言
  • Google Colab平台實作
  • 使用Pandas函式庫來建立資料結構
  • 使用Matplotlib畫圖
  • 使用Scipy科學函數庫作線性代數與矩陣科學運算
  • 使用numpy模組建立矩陣
  • Tensorflow2.x一天學會
  • 瞭解損失函數
  • 手寫辨識範例
  • 瞭解均方差
  • 瞭解交叉熵誤差
  • 瞭解對數y=log(x)
  • 徹底研究Google TensorFlow程式設計
  • Tensor張量資料型態與計算節點
  • TensorFlow工作會議Session徹底研究
  • 使用Tensorflow學習數學矩陣行列式與線性代數
  • 使用Tensorflow學習微分梯度求取極值最佳解
  • 使用Tensorflow學習機率統計-機率均勻分佈
  • 使用Tensorflow學習機率常態分佈
  • 使用Tensorflow學習數學複數
  • 使用Tensorflow平行計算解決大數據問題
  • Tensorflow為大數據先修課程,基本數學機率計算教學
  • TensorFlow+Keras的基礎
  • CNN卷積神經網路
  • RNN遞迴神經網路
  • 手寫辨識數字
  • 學習機器感情
  • 手寫辨識準確度98.59%
  • 顯示手寫訓練圖片
Course content
Expand all 175 lectures 38:25:47
+ Python 程式設計基礎
10 lectures 02:00:16
Python安裝檢查在Mac
06:26
Python安裝檢查實作在Mac
04:49
在Window 10下載及安裝Python軟體
17:48
在Windows 10安裝Python及Anaconda組合包實作
19:09
Python安裝檢查在Windows10
10:20
Python安裝檢查實作在Windows10
12:07

Python 網站擷取與資料分析
五顆星評比獎勵

https://www.udemy.com/python-za/?couponCode=AAANEWPYTHONMARKET

Python 網站擷取與資料分析
02:05
+ Python直譯器與計算機
15 lectures 03:31:14
布林資料型態
14:40
字串資料型態
14:58
物件類別
12:49
識別名稱
07:58
運算子結合優先順序
09:52
資料型態實作
19:18
布林資料型態及浮點數資料型態實作
13:53
字串實作
25:53
物件類別實作
06:18
運算子結合優先順序實作
09:01
數字,字串與變數實作
05:47

請練習將Python直譯器當作電子計算機計算數字問題

請練習將Python直譯器當作電子計算機計算數字問題
1 question
+ 控制結構
7 lectures 01:33:02
布林值與條件
15:07
Python 精通程式語言_控制結構
06:26
一個選擇的if敘述實作
19:57
迴圈結構for實作
06:40
+ 資料結構
4 lectures 01:21:19
資料結構
14:18
串列堆疊與資料結構實作
25:54
數組tuple,集合set和字典
13:54
數組tuple,集合set和字典實作
27:13
+ 函數
12 lectures 03:32:36
Python 精通程式語言_函數
26:54
函數參數與引數
15:57
函數實作
24:35
Lambda運算式
08:38
費氏函數非遞迴實作
17:57
函數參數*name接受實體tuple,函數參數**name接受字典
20:03
Lambda運算式實作
13:43
套件模組
13:18
Python內建字串相關函數實作
14:42
套件模組實作
11:23
Python內建字串相關函數
16:22
+ 類別
6 lectures 01:04:25
類別實作
11:03
建立物件及解構物件
07:56
Python 精通程式語言 類別
10:06
建構函數__new__()
13:09
Python物件導向程式語言封裝實作
10:09
+ 繼承
4 lectures 49:17
繼承
16:09
繼承實作
13:33
多重繼承實作
14:24
多型
05:11
+ 異常或錯誤處理
4 lectures 53:33
異常或錯誤處理
09:49
異常或錯誤處理實作
25:18
檔案處理
05:31
檔案處理實作
12:55
+ 使用matplotlib畫圖實作
2 lectures 24:27
使用matplotlib畫圖
08:55
使用matplotlib畫圖實作
15:32
Requirements
  • 使用電腦的初級能力
  • 高中以上,高中機率統計,高中矩陣行列式,高中微分求極值,高中數學
Description
  • Udemy30 天內無條件退款。 

  • 本課程有一天學會 Python,Python 深度學習和TesnorFlow程式設計三個重要課程。

  • Tensorflow 1.x程式設計和Tensorflow2.x一天學會.

  • Google Colab平台實作.

  • 循序漸進,從基礎到實作,從Python程式語言到Python深度學習與Python機器學習,再到專精TensorFlow 程式設計親手打造MNIST手寫辨識.

  • 徹底研究Google TensorFlow程式設計,Tensor張量資料型態與計算節點,工作會議Session徹底研究

  • 使用Tensorflow學習數學矩陣行列式與線性代數

  • 使用Tensorflow學習微分梯度求取極值最佳解

  • 使用Tensorflow學習機率統計-機率均勻分佈

  • 使用Tensorflow學習機率常態分佈

  • 使用Tensorflow學習數學複數

  • 使用Tensorflow平行計算解決大數據問題

  • 使用Tensorflow處理影像圖片

  • Tensorflow為大數據先修課程,基本數學機率計算教學

  • Python軟體的下載及安裝

  • 循序學習Python程式語言

  • TensorFlow程式語言在Python的應用學習

  • 瞭解NVIDIA的GPU及顯示卡圖形晶片

  • 完全解說TensorFlow-GPU的安裝及TensorFlow-CPU的安裝

  • 30個小時....150講座...讓你徹底了解TensorFlow程式設計,Python程式語言與Python深度學習類神經網路,卷積CNN深度學習類神經網路,RNN影評資料IMDB滿意度分析

  • 循序漸進,從TensorFlow程式語言到深度學習影像辨識實作

  • 瞭解CUDA及CUDNN在Windows 10的安裝

  • 親手實作minst手寫辨識使用TensorFlow-GPU

  • 了解深度學習內涵,加強人工智慧專業知識.

  • 成為大數據分析師,深入挖掘商業智慧,與資料大數據工程

  • NVIDIA深度學習實作使用Python和TensorFlow程式設計

  • 這是華人界的知名科學家吳佳諺所推出的線上課程。

  • 所有問題一定可以得到解答

  • 從觀念入門,親手打造手寫辨識,讓你全盤了解Python資料科學,類神經網路深度學習使用TensorFlow。

  • 初學者到進階使用者,對資料科學有興趣的人,商管財經人士,文法商人員,一般工程師,理工醫,電子電機與資料工程師、資料科學家。

  • 讓自己鍍金,提升自我價值。

  • TensorFlow程式設計徹底研究--深度學習影像辨識實作為人工智慧深度學習基礎課程

  • 執行一般的openAI

  • 執行強化學習的使用車桿平衡CartPole

  • 強化學習簡介

  • K-nearest最鄰近分類演算法KNN

  • K-means:群聚的中心為基礎的分群

  • 自編碼資料降維

  • 詞向量Word2Vec

  • TSNE降維後的Word2Vec的嵌入向量視覺圖

  • 強化學習-建立Anaconda工作環境 -Mac

  • 執行一般的openAI

  • 執行強化學習的使用車桿平衡CartPole

  • 強化學習簡介

  • Python 機器學習-親手TensorFlow實作手寫辨識與強化學習車桿平衡和Python深度學習--徹底研究為人工智慧大數據基本學習課程


1.下載及安裝Python軟體

1-1.在Mac下載及安裝Python軟體

使用pip3 install 套件名稱

  • 安裝套件

  • pip3 install 套件名稱

  • 解除安裝套件

  • pip3 uninstall 套件名稱

  • 檢視目前系統已經安裝的套件

  • pip3 list

安裝Anaconda,Numpy,Matplotilib

在Mac選取Launchpad打開Anaconda Navigator

在Mac可以選取Spider或jupyter notebook來執行

1-2.在Window 10下載及安裝Python軟體

在Window 10下載及安裝Python軟體

  • 在Window 10下載及安裝Python軟體

這是安裝程式軟體的路徑,預設是安裝在C:\Programs目錄下

在Window 10打開Python開發環境

這是Python的Shell直譯器

按下win鍵,選取命令提示字元

在命令提示字元下輸入python

進入python直譯器

離開python直譯器輸入exit()

  • 在Windows 10安裝Anaconda

安裝Anaconda,Numpy,Matplotilib

選取Python 3.6版本

使用conda安裝模組

選取Spider

選取Jupyter Notebook


2.Python直譯器與計算機

  • Mac電腦/usr/local/bin

  • Windows電腦C:\python36

  • set path=%path%;C:\python36

  • 這是設定utf-8-*-編碼

  • #-*- coding: utf-8 -*- 

  • #是註解符號

  • 輸入python執行

  • $ python

變數資料型態

    • 整數

    • 浮點數

    • 字串

  • 運算式是由運算子與運算元組成

  • +加-減*乘/除是運算子,先乘除後加減的結合優先順序

  • 運算元是變數,數字,字串和資料結構

  • =是分配符號,將右邊的值分配給左邊變數

3.資料結構

  • 變數

  • 運算式與運算子

  • 串列

  • 堆疊

  • 佇列

數組tuple,集合set和字典

  • 可以用數組tuple來儲存固定的元素,使用小括號()來建立一數組tuple

  • 集合的元素放置沒有按照順序,可以使用{}大括號來建立一集合Set

  • 集合加上索引就是字典{索引:值}

4.控制結構

  • 布林運算式,布林值為True或False

  • 在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。

  • While敘述的程序圖形中.選取結構和循序結構,都只執行程式敘述一次,如果我們要讓同一行程式重複執行好幾遍則要用迴圈敘述。

  • 迴圈敘述可以重複執行某一段程式好幾遍,直到條件的不成立才跳出這個迴圈。

  • 選取結構if

  • 語法if:

  • if 條件運算式:

  •     程式敘述1

  • else:     

  •     程式敘述2

  • 迴圈結構while,for

  • 語法:

  • for  計數變數  in range(起始值,終始值):

  • 程式敘述

邏輯運算子

  • 邏輯運算子可以結合條件,以一個表達式判斷許多條件,而這些條件的結果不是真True就是假False。

  • and稱為”與邏輯運算子”,只有當所有條件都成立時才會回傳真True,否則回傳假False。

  • or稱為或邏輯運算子,只要運算式中一個條件成立就會回傳真True,只有當所有的條件都為假Fasle時,才會回傳假False。

  • not為相反邏輯運算子,真True的條件加上not相反邏輯運算子時,就會變成假False﹔當假False的條件加上not相反邏輯運算子時,就會變成真True。

一個選擇的if敘述

  • if 條件:

         敘述

巢狀的if敘述與多重選擇決策

  • 在這個例子中有5個等級來做選擇,就叫做多重選擇。

  • 語法:

  • if (條件1):

    • 敘述1

  • elif (條件2):

    • 敘述2

  • elif (條件3):

    • 敘述3

  • elif (條件4):

    • 敘述4

  • else (條件5):

    • 敘述5

迴圈結構for

  • Python提供for敘述作為迴圈,除了迴圈主體敘述(statement),還有迴圈的條件結構。

迴圈結構while

  • 在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。

5.函數

將多個複雜的程式區塊包在函數裡面,這樣在需要時,可以重複呼叫它.

遞迴函數是自己呼叫自己的函數,有最終值,開始回傳.

pass敘述沒做任何事

預設參數值

使用者自訂函數

區域變數的生存空間

  • 函數的參數為區域變數.函數的參數生存空間只在函數的範圍內

  • 在函數內定義的變數,其作用範圍在函數內

6.類別

成員屬性與成員方法

類別和實體變數

  • _init__(self,..)為建構函數,實體化物件時會呼叫它

  • self為自己這個物件

  • __init__(self)建構物件, __del__(self)解構物件

7.繼承

  • class 子類別(父類別1,父類別2,父類別3,..):       

  •       敘述1

  •       敘述2

  • 當子類別繼承 (inheritance) 超過一個來源的時候,會以寫在最左邊的父類別優先繼承,多個父類別如果有相同名稱的屬性 (attribute) 與方法 (method) ,就會以最左邊的父類別優先。

多型:子類別和父類別有同名的getEngine()名稱

8.異常或錯誤處理

使用raise關鍵字丟出例外

開啟,關閉及寫入檔案

檔案處理

  • fp=open(‘檔案名稱’,’檔案開啟模式’)

9.使用matplotlib畫圖

  • Matplotlib.pyplot是畫圖的命令集合函數.每一個pyplot函數可以建立或修改圖形

10.Python 資料結構與畫圖簡介 

  • •數組tuple和集合set

  • •Scipy科學函數庫

  • •numpy模組建立矩陣

  • •Pandas資料結構

  • •Matplotlib畫圖

11.數組tuple和集合set和Scipy科學函數庫

  • 可以用數組tuple來儲存固定的元素,使用小括號()來建立一數組tuple

  • 集合的元素放置沒有按照順序,可以使用{}大括號來建立一集合Set

  • Scipy模組提供科學運算及線性代數的運算模組

12.numpy模組建立矩陣

  • •numpy模組建立矩陣

  • •矩陣運算

  • •reshape()改變陣列的長寬

  • •np.zeros((10,3))產生10*3的矩陣

13.Pandas資料結構

  • 使用pip install安裝pandas

  • Pandas讀取csv

  • 讀取台灣加權股價指數csv檔,big5編碼

  • 實作讀取台灣加權股價指數

  • Series序列資料

  • pandas的DataFrame

  • 實作Pandas資料結構

  • 資料選擇與篩選

  • lambda可調式參數

下載及安裝PyCharm

在Mac下載及安裝PyCharm

安裝完Python後,設定直譯器路徑

Pycharm可以使用Python和Jupyter notebook的檔案

在Pycharm新增函式庫

在Windows 10下安裝Pycharm

下載Community版


14.TensorFlow Mac安裝

  • 使用Virtualenv虛擬環境或native的pip來安裝

  • 使用pip來安裝TensorFlow

  • 使用Anaconda來安裝TensorFlow


15.TensorFlow GPU平行運算

  • CUDA軟體安裝設定

  • 看看自己電腦的GPU版本

  • 下載及安裝Cuda Toolkit 9.0

  • 下載及安裝CUDNN

  • 深度學習動態執行檔DLL系統使用者環境路徑設定

  • 安裝TensorFlow-GPU並且執行

  • 安裝並且執行jupyter Notebook-驗證GPU

  • 使用cpu執行TensorFlow

15-1CUDA軟體安裝設定

  • TensorFlow支援CPU和GPU運算

  • 使用GPU可以加速及平行分散式運算

  • TensorFlow使用GPU則要使用NVIDIA的硬體和軟體.

  • 目前支援CUDA Toolkit9.0,且加入%PATH%到環境變數

  • 說明安裝文件

cuDNN為深度學習軟體

  • 安裝cuDNN DLLs動態執行檔,且加入%PATH%到環境變數

  • •cuDNN64_7.dll動態執行檔

  • GPU卡和CUDA Compute Capability 3.0以上才能夠支援TensorFlow

使用Anaconda安裝tensorFlow


15-2看看自己電腦的GPU版本

到NVIDIA觀看顯示卡和所對應的計算能力

安裝Anaconda

  • 我們使用Anaconda來安裝TensorFlow

  • 如果還未安裝Anaconda請到下列網址下載及安裝


15-3下載及安裝Cuda Toolkit 9.0

  • •要看TensorFlow是否有支援更新的版本,目前是支援到Cuda Toolkit9.0

  • •Cuda全名為統一計算架構CUDA,Compute Unified Device Architecture簡稱NVIDIA的GPU架構軟體

CUDA設定

下載及安裝CUDNN

  • 下載CUDNNv7.05 forCUDA9.0

  • CUDA的深度學習函式庫簡稱CUDNN

先加入會員後才能夠下載軟體

加入會員後登入及下載

下載CUDNNv7.05 forCUDA9.0


15-4.深度學習動態執行檔DLL系統使用者環境路徑設定

  • •cuDNN64_7.dll動態執行檔的路徑要設到使用者路徑和系統路徑.

  • •CUDA Toolkit的目錄也要設定到系統路徑變數

預設是安裝時,CUDA Toolkit的目錄已經自動設定到系統路徑變數


15-5.安裝TensorFlow-GPU並且執行

  • 在Anaconda環境建立tensorflow

  • 使用conda指令建立Python虛擬環境tensorflowGpu

conda create -n tensorflowGpu python=3.6.4

  • 使用虛擬環境tensorflowGpu

activate tensorflowGpu

  • 並且使用pip安裝tensroflow-gpu

 pip install --ignore-installed --upgrade tensorflow-gpu


15-6.安裝並且執行jupyter Notebook-驗證GPU

  • 安裝jupyter Notebook

  • $pip install jupyter Notebook

  • 執行jupyter Notebook

  • $jupiter notebook

成功顯示GeForce


15-7.使用cpu執行TensorFlow

  • 使用cpu執行TensorFlow

  • 使用pip3安裝

使用cpu執行TensorFlow

  • 這是使用cpu來執行tensorflow

pip install —ignore-installed --upgrade tensorflow

使用pip3安裝

  • 除了使用Anaconda環境安裝TensorFlow,也可以使用Python 3的pip3來安裝

  • 安裝CPU版的tensorflow

pip3 install --upgrade tensorflow

  • 安裝GPU版的tensorflow

pip3 install --upgrade tensorflow-gpu


-----------TensorFlow程式設計徹底研究-------------


TensorFlow簡介

矩陣,行列式與線性代數

Edges(張量Tensors),Nodes(節點)操作,加減乘除

資料流圖形

Session會議工作

CPU,GPU平行運算裝置

資料流圖形(Data Flow Graph)

  • 節點(Node):運算實體加減乘除,>=0個輸入與>=0個輸出

  • 邊(Edge):一般邊,資料結構支架


16.TensorFlow

16-1TensorFlow

張量的資料型態

  • tf.Variable

  • tf.Constant

  • tf.Placeholder

  • tf.SparseTensor

assign動態調整參數

可以透過動態調整不同的參數組合,讓誤差值cost最小。若要調整 variable 的值可以使用assign函數。

TensorFlow的資料型態,級別Ranks和Shape維度的表示

  • 張量tf.Tensor有資料型態的屬性和維度Shape來描述

  • Ranks和Shape都是描述張量的維度

Ranks級別和Shapes維度的表示

TensorFlow的資料型態

處理張量

將陣列轉為張量資料結構

計算矩陣加法,乘法和行列式的值

使用Session來執行張量圖

運算節點

運算節點tf.add

tf.add

  • 回傳x+y的值

  • x,y為輸入張量

tf.add(

    x,

    y,

    name=None

)

回傳x+y的值

tf.multiply

5*2為10



16-2 TensorFlow的變數

訓練前需初始化變數

複數

  • 複數是由實數與虛數組成

  • -1開根號得到j,j為複數

  • j*j=-1

  • 複數遞迴函數Z(n+1)=Z(n)*Z(n)+c

  • Mandelbrot複數集合的圖

real為實數,imag為虛數

複數遞迴函數

Z(n+1)=Z(n)*Z(n)+c

tf.group()可以將多個tensor和運算群組執行

Mandelbrot複數集合的圖

梯度

  • 微分求梯度

  • 微分求取曲線極值

y=x*x

對y作x變數的微分

將5帶入得10

將x=1帶入得值2.0


16-3圖形和Sessions

  • TensorFlow使用圖形來代表計算操作的相依

  • 使用TensorFlow的session來平行執行圖形

  • sess.run()則使用這個建立好的會話來執行結果 當with子句上下文結束時,會話關閉和資源釋放也自動完成,因此沒有用close()函數關掉Session會話


16-4 TensorFlow placeholder

輸入參數dtype為資料型態,shape維度,name為名稱

placeholder 是一種可以讓計算圖形保留輸入欄位的節點,並允許實際的輸入值留到後來再指定。

常見函數

  • Tensorflow的計算節點

  • tf.add

  • tf.multiply

  • ………..

  • tf.reduce_sum()

tf.add

  • 回傳x+y的值

  • x,y為輸入張量

tf.add(

    x,

    y,

    name=None

)

回傳x+y的值

tf.multiply

  • 回傳x*y的值

  • x,y為輸入張量

tf.multiply(

    x,

    y,

    name=None

)

5*2為10

tf.reduce_sum()

  • 計算張量該維度元素的總和

  • 在指定軸axis的維度減少input_tensor,如果axis沒被指定則減少所有維度

  • keepdims如果為true,則依舊減少維度的長度為1

  • 會回傳減少的張量

  • tf.reduce_sum(

    input_tensor,

    axis=None,

    keepdims=None,

    name=None,

    reduction_indices=None,

    keep_dims=None

)

機率均勻分佈

設定seed種子為2,來產生重複的序列

tf.random_uniform

  • 機率均勻分佈

  • shape為陣列元素個數

  • seed為設定的種子

  • tf.random_uniform(

    shape,

    minval=0,

    maxval=None,

    dtype=tf.float32,

    seed=None,

    name=None

)

機率常態分佈

  • 常態分佈,標準差,均值

tf.random_normal

  • 機率常態分佈

  • shape為陣列元素個數,mean為均值,stddev為標準差dtype為資料型態

  • seed為設定的種子

  • tf.random_normal(

    shape,

    mean=0.0,

    stddev=1.0,

    dtype=tf.float32,

    seed=None,

    name=None

)

用TensorFlow處理張量

  • 輸入matplotlib模組和tensorflow模組

  • import matplotlib.image as matImage

  • import matplotlib.pyplot as plt

  • import tensorflow as tf

transpose()函數

  • 二维陣列,perm=[0,1],0代表二维陣列的列,1代表二维陣列的行

  • tf.transpose(x, perm=[1, 0]),perm[1,0]代表將陣列的列和行交换,代表矩陣的轉置

  • tf.transpose(x, perm=[1,0,2])代表將三維陣列的行和列進行轉置

  • perm為陣列的排列方式


16-5  範例實作 執行計算圖

執行tensorboard且設定目錄

  • —logdir為指定紀錄的目錄

TensorFlow手寫辨識演算法

  • 載入mnist手寫辨識資料

  • W是權重,b是偏差,X是輸入

  • 輸入X乘與權重W加bios,經過softmax得到y

  • 訓練模型使用交叉熵的成本

  • 使用梯度遞減微分求取最小交叉嫡

  • 評估模型

TensorFlow手寫辨識實作

  • TensorFlow函數

  • 手寫辨識實作

  • 顯示手寫訓練圖片

  • tf.matmul()為矩陣內積相乘

  • Class GradientDescentOptimizer類別

17.TensorFlow卷積深度學習CNN手寫辨識

  • 輸入tensorflow函式庫

  • 定義卷積conv2d和最大池化

  • 深度學習函數deepnn(x) 

  • 第二卷積層對應 32 特徵向量到64

  • 交叉熵最佳化

  • 平行計算會議

  • 準確度98.59%

  • TensorBoard的計算圖Graphs

損失函數

  • 手寫辨識範例

  • 損失函數

  • 均方差

  • 交叉熵誤差

  • 對數y=log(x)


TensorFlow 實作課程 (Python 機器學習-親手打造影像辨識系統)

TensorFlow CNN卷積深度學習影像辨識

安裝Tensorflow

  • 在PyCharm新增TensorFlow

Cifar-10圖片集

啟動Tensorboard

  • TensorFlow卷積的圖形

  • TensorFlow conv_1卷積變數的範圍

  • TensorFlow Visualization視覺化輸出

  • TensorFlow 計算圖 全連接層神經元

  • TensorFlow 全連接層神經元fully_connected_1變數範圍

  • TensorFlow Cifar_10影像特徵圖

TensorFlow Saver類別儲存變數

混淆矩陣

18.TensorFlow+Keras CNN卷積深度學習Cifar-10圖形辨識

安裝Tensorflow

Cifar-10圖片集

範例:cifar10_data_ok

  • cifar10.load_data()載入訓練和測試資料

  • RGB(紅藍綠)圖像:圖像中每個像素紅藍綠顏色可以由0(黑)到255(白)的亮度值(Intensity)表示。0-255之間表示不同的紅藍綠顏色值。

  • Keras的核心為模型

  • 卷積和池化各有四層

  • add()我們可以一層一層的將神經網路疊起。在每一層之中我們只需要設定每層的大小(units)與啟動函數(activation function)。

  • 最佳化隨機梯度下降

  • 訓練模型,使用交叉熵

  • 建立模型model.fit()

預測測試10000筆的準確度73%

範例:cifar10_kk

TensorFlow CNN卷積深度學習影像辨識

安裝Tensorflow

  • 在PyCharm新增TensorFlow

Cifar-10圖片集

啟動Tensorboard

  • TensorFlow卷積的圖形

  • TensorFlow conv_1卷積變數的範圍

  • TensorFlow Visualization視覺化輸出

  • TensorFlow 計算圖 全連接層神經元

  • TensorFlow 全連接層神經元fully_connected_1變數範圍

  • TensorFlow Cifar_10影像特徵圖

TensorFlow Saver類別儲存變數

混淆矩陣

Python 機器學習-親手TensorFlow實作手寫辨識與Python強化學習車桿平衡


機率常態分佈

  • 常態分佈,重要觀念,平均值Mean,標準差

線性迴歸

  • a,b為未知數,求二元一次方程式

  • Loss函數最小化

  • 梯度變化

  • 啟動會議工作session

  • 選擇過大的學習速率,會衝過 全域最小值(震盪)

分類

  • 監督式學習分類

    • 監督式: 訓練資料已有標籤

    • 新資料分類是根據訓練資料所建立的模型來預測

  • 非監督式分群

    • 資料屬於哪一類標籤未知

    • 屬於分群

分類與預測

  • 分類:  

    • 預測是哪一類

    • 有標籤的預測分類

  • 預測:  

    • 訓練模型後作預測

  • 應用

    • 信用卡評定

    • 目標行銷

    • 醫學診斷

K-nearest最鄰近分類演算法KNN

  • K-nearest最鄰近分類演算法KNN

  • KNN以記憶為基礎並且群集投票決定類別

  • 實作KNN演算法使用手寫辨識MNIST

  1. K個最相近的鄰近分類演算法KNN

  • 1.選定K的值和一個距離半徑

  • 2.找出K個最相近的鄰近樣本

  • 3.這些樣本投票屬於哪一類別標籤

KNN以記憶為基礎並且群集投票決定類別

  • KNN是在收集新訓練數據資料,分類器也會同時更新,這稱為以記憶為基礎

  • KNN會在訓練數據中最接近該點的K個樣本.這個新數據的點會依據這K各樣本投票決定該點的類別.

實作KNN演算法使用手寫辨識MNIST

  • 輸入tensorflow,matplotlib套件

  • 載入手寫MNIST數字資料,訓練圖像和標籤

  • 成本函數是以像素距離distance來表示

  • 測試與演算法評估

  • tf.reduce_sum範例實作

tf.reduce_sum

  • 沿著輸入張量的維度,計算該張量在其維度內元素的和

  • input_tensor是輸入張量

  • 在指定axis軸減少輸入張量,如果axis沒被指定則所有維度都會被減少,並且回傳單一元素的張量

  • reduction_indices是和axis軸一樣的參數

  • tf.reduce_sum(

    input_tensor,

    axis=None,

    keepdims=None,

    name=None,

    reduction_indices=None,

    keep_dims=None

)

  • 將資料庫的n個物件來建構K個群聚的分群

  • k-means:群聚的中心為基礎的分群

    • 隨機選擇K個點當作初始的中心點

    • Do Repeat重複步驟

      • 1. 透過指定所有的點到最近的中心點來形成K個群集

      • 2.重新計算所有群集的中心點

  • Until直到群集中心沒有任何變化

AutoEncoder自動編碼器

1.AutoEncoder為非監督式學習

2.自動編碼器用在維度縮減

成本函數最佳化

使用會議工作執行

詞向量Word2Vec

1.將字詞轉換成向量

  • 將字詞轉換成向量,把內容的處理簡化為向量空間中的向量運算,計算向量空間上的距離,來表示語義上的鄰近類似距離。

  • Word2Vector可以學習抽象的自然語言觀念

  • CBOW給定詞窗中的文本,預測當前的詞

  • 區分真實詞彙和雜訊

  • 相似動詞群集

2.使用TSNE降維

  • TSNE降維後的Word2Vec的嵌入向量視覺圖

  • tf.device(‘/cpu:0’)為設定cpu計算

  • 最佳化模組SGD學習速率為1

  • TSNE為實作降維度將128維的嵌入向量降到2維

  • Thanks

1.建立Anaconda工作環境 -Mac

安裝TensorFlow並且執行-Mac

  • 在Anaconda環境建立tensorflow

  • 使用conda指令建立Python虛擬環境tensorflowRL

conda create -n tensorflowRL python=3.6.4

  • 使用虛擬環境tensorflowRL

activate tensorflowRL

  • 並且使用pip安裝tensroflow

 pip install --ignore-installed --upgrade tensorflow

  • 安裝keras-rl強化學習套件

pip install keras-rl

  • 安裝Open AI套件

$ sudo pip install gym

  • 安裝pip install h5py

2.執行一般的openAI

python OPENAI_1

3.執行強化學習的車桿平衡CartPole

執行python cartPole

CartPole的任務目標就是盡可能的保持竿子直立不會倒下

4.強化學習簡介

分數報酬reward

  • 學習者有狀態s,和選取動作action

  • 自然回應新狀態和報酬reward

  • 學習者為了得到最高報酬,因此要做最佳決策

  • 使用TensorFlow建立一個基於Policy策略網路的Agent來解決CartPole的問題

Q-Function最大化未來報酬(贏的策略)

  • a是行動action,s是狀態state

  • 最佳化贏的策略(最大化遊戲得分)

策略policy,在每個狀態s選取動作a來最大化遊戲得分

  • Bellman方程式

  • 在目前的狀態和行動中來最大化遊戲贏的分數,就是目前的報酬immediate reward加上在下一步s’的最大化未來報酬

  • 遞迴的計算action-value函數

Deep Q-Learning

Loss函數最佳化

5.Deep Q 網路使用Keras和TensorFlow

  • gym.make(‘CartPole=v0’)來建立一個基於策略網路的Agent來解決CartPole的問題

  • 初始化卷積網路CNN

  • 編譯agent使用DQN(Deep Q-Network)

1.Python 類神經網路深度學習

安裝Tensorflow
安裝Keras
類神經網路圖形辨識MNIST
類神經深度學習
繪製實際和預測結果的手寫辨識


2.Python深度學習 類神經網路

類神經網路
微分chain rule
類神經網路深度學習
啟動函數


3.CNN,卷積類神經網路

卷積神經網路CNN
卷積神經網路CNN
CNN,特徵取樣
CNN程式使用keras


4.遞迴神經網路RNN

遞迴類神經網路RNN
Google的LSTM遞迴類神經網路
IMDb影評資料滿意度分析
建立RNN遞迴類神經的模型
LSTM實作
類神經深度學習

‧add()我們可以一層一層的將神經網路疊起。在每一層之中我們只需要設定每層的大小(units)與啟動函數(activation function)。
‧第一層輸入向量大小、最後一層為units要等於輸出的向量大小。
最後一層的啟動函數(activation function)為softmax。
softmax()為歸一化指數函數,將向量的值歸ㄧ化為0到1之間。




Who this course is for:
  • 想學習Python程式語言
  • 想學習人工智慧深度學習
  • 想學習大數據的學生
  • 想用Python解決問題的學生
  • 想學習人工智慧基礎的人
  • 想學習TensorFlow的變數的人
  • 想學習TensorFlow圖形和Sessions的人
  • 想學習TensorFlow placeholder的人
  • 想學習TensorFlow執行計算圖的人
  • 學習數學矩陣行列式與線性代數
  • 學習微分梯度求取極值最佳解
  • 學習機率統計-機率均勻分佈
  • 學習機率常態分佈
  • 學習數學複數
  • 想學習平行計算解決大數據問題
  • 想學習大數據先修課程,基本數學機率計算教學
  • 使用Tensorflow處理影像圖片
  • 想用Python來學習金融計算的人
  • 想用Python來學習科學計算的人
  • 想學TensorFlow+Keras的學生
  • 想學習深度學習的學生
  • 想學習CNN卷積神經網路的學生
  • 想學習RNN遞迴神經網路的學生
  • 想學習手寫辨識數字的學生
  • 想學習語文翻譯的學生
  • 想學習機器感情的學生