iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
0
AI & Data

Python零基礎到Kaggle 系列 第 24

Python零基礎到kaggle-Day23

  • 分享至 

  • xImage
  •  

今日目標

入門介紹,CNN分辨貓狗,Pytorch入門

注意:請搭配每日課程觀看以達到最好效果
Faster.ai

看完文章您將學到什麼

熟悉Colab,看完今日教學Slides,用VGG辨識貓狗,使用Pytorch

內文

大家一定有個疑問,為什麼我不能用之前的Jupyter Notebook呢?
之前我們是在自己本機跑的,算力當然沒有Google GPU/TPU好,不用的話會跑很久的時間,以我的MacBook Pro來說,你首先會聽到飛機起飛的聲音...

Slides

首先是課程連結

Course website
Course GitHub

為什麼要從Machine Learning(ML)改用Deep Learning(DL)

1.ML已經研究50年了
2.電腦運算能力跟儲存空間都夠大到我們需要的了
3.網路上資料也夠多了
4.需要的工具跟文化也夠成熟了
5.也有很多公司投入資源心力

現今DL的CV,NLP

CV有物體檢測,圖像分割,圖像標註,風格遷移,圖像對抗生成,應用於遊戲強化學習
NLP有機器翻譯,問答機器人,語音轉文字
我們會在 Day29 說明
然後他還提到四軸飛行器的影像控制

那該怎麼開始呢

他推薦三個套件:
1.Anaconda:很好,我們在用了
2.Pytorch:這份教學會遇到
3.Colab:要用GPU的話,這個昨天介紹過

實際操作

VGG

這是個Kaggle分辨貓狗的比賽25,000筆標註好資料在訓練集,12,500筆未標注資料在測試集,這個跟鐵達尼有點像,都是二分類問題

Downloading the data

1.import需要套件
2.確認pytorch,system,gpu都正確設置
3.從Fast.ai下載貓狗Kaggle資料集並解壓

Data processing

1.對圖像大小正規化
2.查看資料

Creating VGG Model

1.下載10001個ImageNet動物類別
2.試用VGG

Modifying the last layer and setting the gradient false to all layers

介紹CNN架構,之後會在Day28提到

Training fully connected module

1.定義損失函數與優化器
2.訓練模型

Speeding up the learning by precomputing features

1.生成一個自己的Data loader

Viewing model prediction (qualitative analysis)

1.用驗證集看是否過擬合了
2.觀察標籤正確性

Conclusion

基本上用ImageNet訓練好的VGG可以很準確預測貓狗,這個例子也顯示深度學習所有必經過程
1.下載數據集
2.設置環境以使用GPU
3.準備資料
4.使用預訓練的VGG計算功能
5.保存結果到自己的Google Drive

Pytorch

簡述Pytorch

Torch basics

1.Pytorch基本操作
2.Pytorch跟numpy交互

Simple interfaces to standard image data-bases

1.使用Cifar10識別物體資料集
2.只保留紅色通道

Autograd: automatic differentiation

1.Torch預設requires_grad是關閉的,微分前要先打開
2.透過broadcasting處理不同形狀的張量運算,並節省記憶體
3.backward()反向微分

Playing with pytorch: linear regression

1.Numpy做線性迴歸
2.用張量做線性迴歸
3.Autograd做線性迴歸
4.神經網路做線性迴歸

反思回顧

這邊把兩份ipynb下載下來
https://ithelp.ithome.com.tw/upload/images/20190925/20114906XGxMPw5kVd.png
下載ipynb
https://ithelp.ithome.com.tw/upload/images/20190925/201149069E1KgsEI6U.png
儲存,並放到Google Drive
https://ithelp.ithome.com.tw/upload/images/20190925/20114906KePRUu6kyK.png
以colab開啟
https://ithelp.ithome.com.tw/upload/images/20190925/20114906UbuHdar1Gk.png
可以看到這是一個kaggle比賽
https://ithelp.ithome.com.tw/upload/images/20190925/20114906xjFiIkjV0D.png
Kaggle比賽資訊
https://ithelp.ithome.com.tw/upload/images/20190925/20114906VrUuyoQOH2.png
訓練完結果一樣會存到Google Drive

這邊要想一下有沒有更快的方式?

參考資料

https://mlelarge.github.io/dataflowr-web/cea_edf_inria.html
https://mlelarge.github.io/dataflowr-slides/Slides/01_intro_dldiy/index.html#1


上一篇
Python零基礎到kaggle-Day22
下一篇
Python零基礎到kaggle-Day24
系列文
Python零基礎到Kaggle 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言