NCUAI

挑戰10小時的 ~ AI程式實戰班

中央大學,  AI程式實戰班,   2021年7~8月

共計5堂,   各2小時的課程

7月13日 (週二) : (1) How to Run Python Programs on Jupyter Notebook and Spyder

Youtube網址  :   https://www.youtube.com/watch?v=jKZ3zMicE7A&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN

7月20日 (週二) :  (2) Classification, Regression, Clustering, Scikit-Learn, GitHub

== >  因為7月13日的課程進度落後,  所以在7月20日影片的前30分鐘,  是 Matplotlib 模組(函式庫)的程式實作.

Youtube網址  :   https://www.youtube.com/watch?v=vhf7A2CsFB8&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=2

7月27日 (週二) : (3) Multi-Layer Perception (MLP) - Iris, Kaggle

Youtube網址  :   https://www.youtube.com/watch?v=RTY6VFFSVug&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=3

8月3日  (週二) : (4) Convolutional Neural Network (CNN)  - MNIST & CIFAR-10, CoLab

Youtube網址  :   https://www.youtube.com/watch?v=NJkMNtj4sbg&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=4

8月10日  (週二) : (5) Keras : ResNet, Autoencoder, 3D-CNN / Transfer Learning / YOLO4

== >  因為8月3日的課程進度落後,  所以在8月10日影片的前20分鐘,  是 Co-Lab 的程式實作.

Youtube網址  :  https://www.youtube.com/watch?v=7lPl2nzzi4s&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=5

==>   上課前, 請按照以下的影片, 完成安裝 Anaconda   <==


(2) 2023-08-16 版本.  ML-02: Install Anaconda, Tensorflow (Keras), Pytorch (CUDA), Ultralytics (YOLO8)  (21:50)

https://www.youtube.com/watch?v=LrYKfPfwYNQ&list=PLYgGtiVoYLPdHNmslnjXuF9gjCIj3g-F3&index=2

7月13日 (週二) : How to Run Python Programs on Jupyter Notebook and Spyder


10:00 AM ~ 10:50 AM:


這段影片, 是在 Jupyter Notebook 環境下, 使用 Julia.  因為 Julia 和 Python 3 很像, 所以在選取 New 按鈕時, 選取 Python 3 即可, 大部分的指令是通用的.

(1) Jupyter Notebook環境介紹|Julia為資料科學而生:一起來追程式語言新女神 (12:40)


這段影片, 是 Spyder 的教學.

(2) Introduction to the Spyder IDE for Python (13:44)


Numpy :

(3) numpy 属性 (教学教程) (6:29)

(4) numpy 的创建 array (教学教程) (11:55)

(5) numpy的基础运算 (教学教程) (13:27)

(6) numpy的 copy & deep copy (教学教程) (6:46)

11:00 AM ~ noon:


Pandas:

(1) Python Pandas 資料分析 - 基礎教學 By 彭彭 (25:11)

(2) Python Pandas 資料分析 - Series 單維度資料 By 彭彭 (30:49)

(3) Python Pandas 資料分析 - DataFrame 雙維度資料 By 彭彭 (31:24)


Matplotlib:   <===  這部份的 Python 程式實作, 會在7月20日的影片中說明.

(4) Matplotlib Tutorial 1 - Introduction and Installation (6:59)

https://www.youtube.com/watch?v=qqwf4Vuj8oM&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl

(5) Matplotlib Tutorial 2 - format strings in plot function (6:18)

https://www.youtube.com/watch?v=zl5qPnqps8M&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=2

(6) Matplotlib Tutorial 3 - Axes labels, Legend, Grid (6:58)

https://www.youtube.com/watch?v=oETDriX9n1w&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=3

(7) Matplotlib Tutorial 4 - Bar Chart (8:45)

https://www.youtube.com/watch?v=iedmZlFxjfA&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=4

(8) Matplotlib Tutorial 5 - Histograms (8:19)

https://www.youtube.com/watch?v=r75BPh1uk38&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=5

(9) Matplotlib Tutorial 6 - Pie Chart (6:36)

https://www.youtube.com/watch?v=GOuUGWGUT14&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=6

(10)  Matplotlib Tutorial 7 - Save Chart To a File Using savefig (3:45)

https://www.youtube.com/watch?v=XLJHkCn48lM&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=7

Homework:  Seaborn

(11)  Python Seaborn Tutorial | Data Visualization in Python Using Seaborn | Edureka (20:40)

https://www.youtube.com/watch?v=TLdXM0A7SR8

7月20日 (週二) :  Classification, Regression, Clustering, Scikit-Learn, GitHub


10:00 AM ~ 10:50 AM:

== >  因為7月13日的課程進度落後,  所以在7月20日影片的前30分鐘,  是 Matplotlib 模組(函式庫)的程式實作.

Is Regression Analysis Really Machine Learning?

Yes, statistical machine learning appears to have several parents, grandparents, great grandparents, and great great grandparents--including the recursive modifications done to/with the family of regression tools.

11:00 AM ~ noon:


(1) Scikit-Learn 5 sklearn 的 datasets 数据库 (9:33)

(2) Scikit-Learn 4 通用学习模式 (9:49)

(3) Scikit-Learn 11 Save (机器学习 sklearn 教学教程tutorial) (11:26)



(4) 機器學習首部曲---Python實作_決策樹 (14:47) 

(5) 機器學習首部曲---Python實作_隨機森林 (11:40) 



GitHub:   2018年6月4日,微軟宣布以75億美元收購GitHub。

pyinvest/ml_toturial

7月27日 (週二) : Multi-Layer Perception (MLP) - Iris, Kaggle


10:00 AM ~ 11:00 AM:


在這裡下載程式: 人工智慧概論.zip


(1)  人工智慧概論 - 02, 原理 (49:09)

(2) 人工智慧概論 - 12. 三種鳶尾花, 資料處理  (29:13)

https://www.youtube.com/watch?v=DoTwibz_R3I&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=13


11:10 AM ~ noon:


(3) 人工智慧概論 - 13. 三種鳶尾花, ANN - MLP  (24:19)

(4) 人工智慧概論 - 16, 三種鳶尾花, Save and Load, Model and Weights  (15:02) 

https://www.youtube.com/watch?v=hNdVJhgzAZw&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=17


(5) Kaggle (   https://www.kaggle.com/   )

Kaggle Courses:

GS-3073-AI-course,  Regression or classification?

透過去識別化之資料,學習課堂介紹之機械學習方

Homework:  But what is a neural network?   究竟神經網路是什麼? (19:13)

8月3日 (週二) : Convolutional Neural Network (CNN) - MNIST & CIFAR-10, CoLab

請在上課前觀看這段影片:  But what is a neural network?   究竟神經網路是什麼? (19:13)


10:00 AM ~ 10:50 AM:


推薦影片 :

台灣大學李宏毅老師的  Machine Learning  影片

==>   ML Lecture 10: Convolutional Neural Network (1:19:28)

==>   ML Lecture 7: Backpropagation (31:26)


課程開始 :

(1) MLP:   MNIST - Deep Neural Network with Keras

(2) MNIST digits classification dataset

(3) Simple MNIST convnet


參考資料 :

人工智慧概論 - 21, 數字辨識, MNIST - MLP (16:46)

人工智慧概論 - 22, 數字辨識, MNIST - CNN (13:53)


11:00 AM ~ noon:


(4) CIFAR-10 image classification with CNN  (CPU vs GPU)


(5) Run "CIFAR-10 image classification with CNN" on Co-Lab

      ( 這部份的 Python 程式實作, 會在810日的影片中說明 )


參考資料 :

人工智慧概論 - 23, 數字辨識, MNIST - CNN, CoLab (14:00)

人工智慧概論 - 24, 影像分類, CIFAR10 - CNN, CoLab, Download files, ModelCheckpoint (29:24)


Homework:  VGG16 Neural Network Visualization (7:35)

8月10日 (週二) :  Keras : ResNet, Autoencoder, 3D-CNN / Transfer Learning / YOLO4

== >  因為83日的課程進度落後,  所以在810日影片的前20分鐘,  是 Co-Lab 的程式實作.

10:00 AM ~ 11:00 AM:


(1) Run "CIFAR-10 image classification with CNN" on Co-Lab 

At local computer:

import warningswarnings.simplefilter(action='ignore')from keras.datasets import cifar10import numpy as np# saving dateset(x_train, y_train),(x_test,y_test) = cifar10.load_data() np.savez('LOCAL-CIFAR10.npz', a=x_train, b=y_train, c=x_test, d=y_test)

On CoLab:

from google.colab import drivedrive.mount('/content/drive')
%cd /content!pwd%cd drive/My Drive/NCUAI-CIFAR10!ls -l
import numpy as np# loading datasetdata = np.load('LOCAL-CIFAR10.npz')x_train = data['a']y_train = data['b']x_test  = data['c']y_test  = data['d']

(2) Keras: API - Applications

2.1  Classify ImageNet classes with ResNet50


(3) Keras: Code examples

3.1  Convolutional autoencoder for image denoising

On denoising autoencoders trained to minimise binary cross-entropy

https://arxiv.org/abs/1708.08487

3.2  3D image classification from CT scans


參考資料 :

人工智慧概論 - 23, 數字辨識, MNIST - CNN, CoLab (14:00)

人工智慧概論 - 24, 影像分類, CIFAR10 - CNN, CoLab, Download files, ModelCheckpoint (29:24)

11:00 AM ~ noon:


在這裡下載程式:  (1) TransferLearning_ShoulderImplants.zip, (2) YOLO_PhotoVIdeo.zip


(4) Transfer Learning for Analyzing Medical Images

4.1  Download the paper: Classifying shoulder implants in X-ray images using deep learning

4.2  Download the dataset: 這裡可以下載 UCI 的597張照片

Shoulder Implant X-Ray Manufacturer Classification Data Set

4.3  Display the images: 這裡是顯示照片的 PYTHON 程式

UCI Shoulder Implant X-Ray Manufacturer

4.4  CMU 的網友, 將程式寫出來了, 提供大家參考: 

(註解: 作者將全部的資料, 都拿去training, 再拿去prediction, 所以準確率接近100%)


(5)  YOLO4, You Only Look Once, version 4

5.1  Ultralytics/yolo3 ~ GitHub (PyTorch version)

Python 3.8 or later with all requirements.txt dependencies installed, including torch>=1.7

To install run: pip install -r requirements.txt   (pip is the Package Installer for Python)

5.2  A simple tf.keras implementation of YOLO v4 (GitHub)  (Keras version)


參考資料:

YOLO 原創者的演講 : How computers learn to recognize objects instantly | Joseph Redmon  (7:37)

圖解一階段物件偵測算法_Part01 - YOLOv1-重錄版  (30:13)

圖解一階段物件偵測算法_Part03 : YOLOv2  (31:04)

圖解一階段物件偵測算法_Part08 : YOLOv3  (19:27)

圖解一階段物件偵測算法_Part12 : YOLOv4  (58:19)

推薦書籍 : 


(1) 臺北市教育局提供的:  高國中小人工智慧教材.

(2) Python 入門

Python邁向領航者之路:超零基礎 / 洪錦魁著 / 深智數位出版 / 2020

(3) Python函式庫以及 AI 基本程式

大師帶你立即上手 : 機器學習+人工智慧一點也不難 / 唐宇迪著 /  深智數位出版 / 2020

(4) Keras 程式範例

TensorFlow + Keras 深度學習人工智慧實務應用 / 林大貴著  / 博碩出版 / 2017

(5) PyTorch 程式範例

強者用PyTorch:實作史上最經典AI範例 / 集智俱樂部 / 深智數位出版 / 2020

(6) 實際應用的解決方案 + Scikit Learn 範例

Python機器學習錦囊妙計 : 涵蓋預處理到深度學習的實務處方 / Chris Albon著 / 陳健文譯 / 碁峰資訊出版 / 2019

(7) 談理論的教科書

University of California - Berkeley 的免費AI課程, 中英文投影片, 及PDF課本


推薦網頁 : 


Keras: 

程式案例  ~  https://keras.io/examples/

訓練好的模型  ~  https://keras.io/api/applications/

小型的練習資料  ~  https://keras.io/api/datasets/

Papers with Code:   https://paperswithcode.com/

Model Zoo:   https://modelzoo.co/ 


--------------------------------------


台灣大學李宏毅老師的  Machine Learning  影片

有人幫李宏毅老師的影片,  寫出完整的筆記

2018 iT 邦  幫忙鐵人賽

史丹佛大學李飛飛老師 (Fei Fei Li) 的 CNN 課程

人工智慧產業應用介紹

這裡有很多講解AI的影片