SlideShare a Scribd company logo
1 of 81
讓你的人工智慧更智慧
Alex Peng
@alexpeng
Introduction to Vertex AI
About Me
Alex
中央資電學士班 大二
GDSC 21 - 22 Core Team (NCU)
2021 新生知訊網 程設組組員
這個人很菜,沒有其他特別的經歷QQ
(對座在後方的各位大佬投以欽羨的眼神)
What is Vertex AI?
An Integrated AI Solution On Google Cloud
What is Vertex AI?
A business report by
The Forrester Wave™:
AI Infrastructure, Q4
2021
Why Choose
Vertex AI?
“Google Cloud -
Leading AI Infrastructure”
AI products on
GCP and their
competitors
台灣大車隊 : 用Vertex AI打造預測叫車熱點的機器學習模型,進而提升計程
車駕駛的載客效率 (點我看更多案例研究)
這麼說,你很勇喔,有沒有實際案例? 讓我看看!
MLOps = ML + Dev + Ops
Feature Store
Experiments
Pipelines (Orchestration)
Continuous
Monitoring
Metadata
MLOps with Vertex AI
End-to-end
MLOps workflow
Lab 1 MLOps with Vertex AI
感受Vertex AI的強大威力
Step 0使用Qwiklab提供的帳號登入GCP
建議使用無痕式視窗
登入GCP避免登錯帳
號! 無法順利執行Lab
Tips!
在Open Google
Console
連結上按右鍵
選擇在無痕式視窗開
啟
Step 1:
點開GCP左上角的Nav
bar > 選擇Compute
Engine > 選擇VM
instances
Step 2: 點選SSH以開啟VM的Terminal
$ git clone https://github.com/GoogleCloudPlatform/data-science-on-gcp
Step 3: 複製指令並貼到剛剛開好的Terminal
我們需要借用一下範例程式碼(注意$字號不用複製!)
$ cd ~/data-science-on-gcp/10_mlops
$ pip3 install google-cloud-aiplatform cloudml-hypertune kfp numpy
tensorflow
Step 4&5: 複製指令並執行
這個步驟是在裝一些必要的程式庫
$ cat model.py
Step 6: 複製指令並執行
這個步驟的cat指令會把剛剛clone下來的model.py這個檔案的內容印出來
$ export PROJECT_ID=$(gcloud info --format='value(config.project)')
$ export BUCKET_NAME=$PROJECT_ID-dsongcp
$ python3 model.py --bucket $BUCKET_NAME --develop
Step 7: 複製指令並執行
這個步驟的export指令在設定系統的環境變數,以便待會執行其他指令需要傳入對
應的參數時可以不用打太多東西
第三行則是執行該python檔,該檔案執行時會進行簡單的訓練(要稍等一下)
$ cat train_on_vertexai.py
Step 8: 複製指令並執行
這個步驟同Step 6,但這次是印出train_on_vertexai.py這個檔案
$ python3 train_on_vertexai.py --project $PROJECT_ID --bucket
$BUCKET_NAME --develop --cpuonly --tfversion 2.6
Step 9: 複製指令並執行
這個步驟將會開始在Vertex AI上訓練我們的Model。注意! 第一次執行可能會因為對
cloud storage的存取權限不足而導致錯誤,只要再執行一次即可! (圖片是錯誤的狀況)
Step 9: 正確輸出
Step 10:
切換到Vertex AI的Training
頁面
小提醒: Vertex AI的頁面在比較下面的地方
記得點查看所有產品展開選單!
Step 11: 查看Vertex AI Model的Training狀態
模型訓練時間約需要30分鐘,所以現在是音樂時間 (x
(等待的時間,大家可以跟Mark聊天,試著讓場面不要那麼尷尬)
Step 12: 查看Vertex AI Model是否已訓練完成
記得去Training 頁面看訓練完沒,因為非常好模型,訓練非常好,差不多訓練
完,再見(x
$ python3 call_predict.py
Step 13: 複製指令並執行
這個步驟會執行call_predict.py這個腳本,來使用剛剛訓練好的模型,你可以看到預
測出來的結果。
如果你的terminal當掉,嘗試新開一個(右上角齒輪>New Connection),並
記得cd至正確的資料夾並重新設定環境變數
Step 13: 狀況排除
$ cd ~/data-science-on-gcp/10_mlops
$ export PROJECT_ID=$(gcloud info --format='value(config.project)')
$ export BUCKET_NAME=$PROJECT_ID-dsongcp
$ python3 train_on_vertexai.py --project $PROJECT_ID --bucket
$BUCKET_NAME --automl
Step 14(Optional):
使用AutoML自動建立模型並訓練
$ python3 train_on_vertexai.py --project $PROJECT_ID --bucket
$BUCKET_NAME --num_hparam_trials 10
Step 15(Optional):
Hyperparameter tuning(超參數自動調整)
$ python3 train_on_vertexai.py --project $PROJECT_ID --bucket
$BUCKET_NAME --automl
Step 14(Optional):
使用AutoML自動建立模型並訓練
關於Lab 1的補充
你可能會問,我到底訓練了啥,怎麼這麼容易,他到底在幹嘛?
於是我們就去翻翻看原始碼model.py找答案!
原來是預測飛機是否準時抵達呀!
關於Lab 1的補充
那麼,到底有哪些資訊是被我們輸入到模型裡的呢?
於是我們就去Bucket找原始的資料
發現資料欄位中有出發delay時間、滑行時間、距離、起降機場、出發時間、是否
是工作日、航空公司別、起降機場經緯度等資訊,全部都會被送到模型裡運算
關於Lab 1的補充
那麼,這個模型是什麼樣的呢?
根據原始碼,我們可以看到,這個模型是一個Binary Classifier,其最後一層經過
Sigmoid Activation Function之後,會輸出一個機率,來表示在對應輸入下準時的機
率
Lab 2 Play around with AutoML Vision
感受Vertex AI AutoML的強大以及易上手特性
Step 0: 登入Qwiklab提供的GCP帳號之後,在控
制中心的右上角開啟Cloud Shell
$ gcloud auth list
$ gcloud config list project
Step 1 : 複製指令並執行
這個步驟在確認是否有選擇到正確的專案,沒意外這裡都不會有問題
$ export PROJECT_ID=$DEVSHELL_PROJECT_ID
$ export BUCKET=$PROJECT_ID
$ gsutil mb -p $PROJECT_ID -c standard -l us-central1 gs://${BUCKET}
Step 2: 複製指令並執行
這個步驟的前兩跟Lab1一樣,在設定必要的環境變數,而第三行的gsutil mb指令
是make bucket的意思,是為了建立存放訓練資料的bucket
$ gsutil -m cp -r gs://car_damage_lab_images/* gs://${BUCKET}
Step 3: 複製指令並執行
這個步驟將會把已經存在Cloud Storage的car_damage_lab_images資料複製一份
到我們在Step 2建好的Bucket裡 (更多gsutil指令說明請點我)
Step 4: 切換到Cloud
Storage>Browser頁面
點進去之後應該會如下圖,顯示已被我們建立好的Cloud
Storage,如果是空的,可以按一下Refresh按鈕!
Step 5: 查看訓練資料庫
點進去剛剛開好的Bucket,應該可以看到有許多資料已經被載入進來了!
Step 6: 查看訓練資料
可以點進任一個圖片的資料來查看,如下圖是bumper>bumper1.jpg,可以看到這
位仁兄的保險桿被無情的撞過
Step 7: 回到Qwiklab頁面 Check Progress
$ gsutil cp gs://car_damage_lab_metadata/data.csv .
$ sed -i -e "s/car_damage_lab_images/${BUCKET}/g" ./data.csv
$ cat ./data.csv
Step 8: 複製指令並執行
在這裡我們需要一個CSV檔來讓Vertex AI知道圖片名稱、圖片存放的URL、以及分
類等資訊。這裡的sed指令是在編輯路徑
$ gsutil cp ./data.csv gs://${BUCKET}
Step 9: 複製指令並執行
複製該CSV檔到我們的Bucket
Step 10: 確認data.csv是否已經載入到bucket裡
Step 11:
切換到Vertex AI>Dashboard
的頁面
Step 12: 開啟Vertex AI 的API
當你今天用自己的帳號登入,且按下了這個誘人的按鈕之後,就代表GCP可以名正言順的刷爆你的信用卡 (X
Step 13: 建立Datasets
切換到Vertex AI>Datasets頁面並點擊上方的CREATE按鈕
damaged_car_parts
Step 14: 建立Dataset (conti.)
名稱請填名稱請填damaged_car_parts,data type and objective請選 image classification (single
label)
Step 15: 建立Dataset (conti.)
滑到下面按create即可
Step 16: 連接資料集與圖片存放的位置
選擇Select import file from Cloud Storage,並在import file path那欄點選BROWSE (見下
頁)
Step 17: 連接資料集與圖片存放的位置(conti.)
選擇有你projectID的那個,按>進去下一層選擇
Step 17: 連接資料集與圖片
存放的位置(conti.)
選擇data.csv,並按底下的SELECT按鈕
Step 18: 連接資料集與圖片存放的位置(conti.)
大功告成! 點選continue之後需要等待約10分鐘來讓Vertex AI對齊資料
Step 19: 查看建立好的Dataset
在這裡你可以看到我們連接好的資料集,準備可以送去訓練了!
Step 20: 回到Qwiklab Check Progress
Step 21: 查看資料分佈
點選ANALYZE欄位,查看各分類的圖片數量
Step 22: 訓練模型設定
點選右邊欄位的TRAIN NEW MODEL
並進入選單(見下頁)
Step 22: 訓練模型設定
Model training method
選擇AutoML
Step 22: 訓練模型設定
Name填入
damaged_car_parts
damaged_car_parts_model
Step 22: 訓練模型設定
Explainability不選,直接按continue
Step 22: 訓練模型設定
Budget那欄填入8,好了之後就可以按Start Training
Step 23: 到training頁面查看訓練狀態
接下來便是漫長的等待,約需30分鐘!
Step 23: 到training頁面查看訓練狀態
接下來便是漫長的等待,約需30分鐘!
Step 24: 回到Qwiklab Check Progress
Step 25: 到training頁面查看訓練狀態
訓練完成!
Step 26: 查看訓練好的模型
Step 26: 查看訓練好的模型
Step 27: 部署至Endpoint
Step 27: 部署至
Endpoint
Name填入damaged-car-
part-model-endpoint
damaged-car-part-model-
endpoint
Step 27: 部署至
Endpoint
Number of compute
nodes填入1
之後按DEPLOY即可!
Step 27: 部署至Endpoint
這個步驟約需10分鐘,一旦部署好就可以點選UPLOAD按鈕來測試模型了!
(下頁有範例圖片可以使用)
Step 28: 測試模型
下載以下範例圖片,並上傳至模型看輸出!
Code link
●https://github.com/GoogleCloudPlatform/data-
science-on-gcp/blob/main/10_mlops/model.py
●https://github.com/GoogleCloudPlatform/data-
science-on-
gcp/blob/main/10_mlops/train_on_vertexai.py
●https://github.com/GoogleCloudPlatform/data-
science-on-gcp/blob/main/10_mlops/call_predict.py
超讚的學習資源,千萬不要錯過
● Andrew Ng, MLOps course specialization:
https://www.deeplearning.ai/program/machine-
learning-engineering-for-production-mlops/
● Qwiklab Build and Deploy Machine Learning
Solutions on Vertex AI:
https://www.cloudskillsboost.google/quests/183
Qwiklab 跟Coursera是我們學習路上不離不棄的老朋友
Supplementary Materials
按讚、訂閱、開啟小鈴鐺
還有表單記得填!
Contact Us
National Central University

More Related Content

Similar to 讓你的人工智慧更智慧 - Developer Student Clubs.pptx

How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B serviceHow to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B serviceAlex Su
 
无标记扩增实境实验平台建置与视觉追踪技术分析
无标记扩增实境实验平台建置与视觉追踪技术分析无标记扩增实境实验平台建置与视觉追踪技术分析
无标记扩增实境实验平台建置与视觉追踪技术分析axiuluo
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中Andrew Wu
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressAppzhoujg
 
在雲端上啜飲爪哇
在雲端上啜飲爪哇在雲端上啜飲爪哇
在雲端上啜飲爪哇建興 王
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous deliveryQiao Liang
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 TaiwanAlan Tsai
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设Tianwei Liu
 
SRE CH12 - Effective Troubleshooting
SRE CH12 - Effective TroubleshootingSRE CH12 - Effective Troubleshooting
SRE CH12 - Effective TroubleshootingRick Hwang
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Wade Huang
 
程式人雜誌 -- 2013年6月號
程式人雜誌 -- 2013年6月號程式人雜誌 -- 2013年6月號
程式人雜誌 -- 2013年6月號鍾誠 陳鍾誠
 
KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較
KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較
KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較Stipc Nsysu
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用Philip Zheng
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027Wei Sun
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務Alan Tsai
 
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]Edison Lee
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 Continuous Delivery Workshop with Ansible x GitLab CI (5th) Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)Chu-Siang Lai
 
無標記擴增實境實驗平台建置與追蹤技術驗證
無標記擴增實境實驗平台建置與追蹤技術驗證無標記擴增實境實驗平台建置與追蹤技術驗證
無標記擴增實境實驗平台建置與追蹤技術驗證Tehuan Chung
 

Similar to 讓你的人工智慧更智慧 - Developer Student Clubs.pptx (20)

How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B serviceHow to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
 
无标记扩增实境实验平台建置与视觉追踪技术分析
无标记扩增实境实验平台建置与视觉追踪技术分析无标记扩增实境实验平台建置与视觉追踪技术分析
无标记扩增实境实验平台建置与视觉追踪技术分析
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
 
在雲端上啜飲爪哇
在雲端上啜飲爪哇在雲端上啜飲爪哇
在雲端上啜飲爪哇
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
 
SRE CH12 - Effective Troubleshooting
SRE CH12 - Effective TroubleshootingSRE CH12 - Effective Troubleshooting
SRE CH12 - Effective Troubleshooting
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
程式人雜誌 -- 2013年6月號
程式人雜誌 -- 2013年6月號程式人雜誌 -- 2013年6月號
程式人雜誌 -- 2013年6月號
 
KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較
KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較
KSDG_007_Web 編程另闢蹊徑-GWT,Dart,TypeScript介紹與比較
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
 
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 Continuous Delivery Workshop with Ansible x GitLab CI (5th) Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 
無標記擴增實境實驗平台建置與追蹤技術驗證
無標記擴增實境實驗平台建置與追蹤技術驗證無標記擴增實境實驗平台建置與追蹤技術驗證
無標記擴增實境實驗平台建置與追蹤技術驗證
 

More from NCUDSC

LineBot.pptx
LineBot.pptxLineBot.pptx
LineBot.pptxNCUDSC
 
221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptx221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptxNCUDSC
 
GDSC NCU Flutter
GDSC NCU FlutterGDSC NCU Flutter
GDSC NCU FlutterNCUDSC
 
Laravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdfLaravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdfNCUDSC
 
20220316 laravel I
20220316 laravel I20220316 laravel I
20220316 laravel INCUDSC
 
Gdsc is back!
Gdsc is back!Gdsc is back!
Gdsc is back!NCUDSC
 
Artificial intelligence in laboratory medicine clinical decision support-gd...
Artificial intelligence in laboratory medicine   clinical decision support-gd...Artificial intelligence in laboratory medicine   clinical decision support-gd...
Artificial intelligence in laboratory medicine clinical decision support-gd...NCUDSC
 
GDSC intro
GDSC introGDSC intro
GDSC introNCUDSC
 
NLP補充
NLP補充NLP補充
NLP補充NCUDSC
 
Docker
DockerDocker
DockerNCUDSC
 
Big Query
Big QueryBig Query
Big QueryNCUDSC
 
Forensics 101 的副本
Forensics 101 的副本Forensics 101 的副本
Forensics 101 的副本NCUDSC
 

More from NCUDSC (12)

LineBot.pptx
LineBot.pptxLineBot.pptx
LineBot.pptx
 
221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptx221013 GDSC Kotlin Basics.pptx
221013 GDSC Kotlin Basics.pptx
 
GDSC NCU Flutter
GDSC NCU FlutterGDSC NCU Flutter
GDSC NCU Flutter
 
Laravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdfLaravel II - Developer Student Clubs NCU.pdf
Laravel II - Developer Student Clubs NCU.pdf
 
20220316 laravel I
20220316 laravel I20220316 laravel I
20220316 laravel I
 
Gdsc is back!
Gdsc is back!Gdsc is back!
Gdsc is back!
 
Artificial intelligence in laboratory medicine clinical decision support-gd...
Artificial intelligence in laboratory medicine   clinical decision support-gd...Artificial intelligence in laboratory medicine   clinical decision support-gd...
Artificial intelligence in laboratory medicine clinical decision support-gd...
 
GDSC intro
GDSC introGDSC intro
GDSC intro
 
NLP補充
NLP補充NLP補充
NLP補充
 
Docker
DockerDocker
Docker
 
Big Query
Big QueryBig Query
Big Query
 
Forensics 101 的副本
Forensics 101 的副本Forensics 101 的副本
Forensics 101 的副本
 

讓你的人工智慧更智慧 - Developer Student Clubs.pptx