deep learning 學習資源摘要
與如何使用nvidia所開發的DNN SDK來與deep learning framework搭配.
Deep Learning
背景
教學
- 資料科學・機器・人 大推這網站, 一位網友翻譯深度學習的網站. 內容以易懂的方式講述深度學習, 從線性回歸的概念一路到神經網路和反向傳播. 並介紹兩個主要的神經網路模型.
- 卷積神經網路(Convolutional Neural Networks) 主要由這些layer構成 Convolutional Layer, Pooling Layer, and Fully-Connected Layer
- 遞歸神經網路(RNN:Recurrent Neural Networks)與長短期記憶模型(LSTM: Long Short-Term Memory)
- CS231n Convolutional Neural Networks for Visual Recognition 講解如何使用CNNs來做視覺辨識
TensorFlow(dnn framework)
這邊deep learning framework以熱門的tensortflow為主, 並列出一些網站所識做的範例作為學習.- TensortFlow 安裝說明
- TensorFlow Tutorial For Beginners 先介紹基本觀念, 再示範如何撰寫一個辨識交通號誌的例子.
- cv-tricks.com: Learn computer vision and artificial intelligence 從基本tensorflow用法、影像分辨範例以及如果把network model給import/export
- TensorFlow: How to freeze a model and serve it with a python API 示範如何把訓練完畢的網路輸出為a frozen model. 而nvidia的tensortRT可以匯入此格式,並最佳化DNN.
NVIDIA SDK
此部分解釋nvidia兩個用於deep learning函式庫『cuDNN 與 tensrotRT』.cuDNN
cuDNN就是基於cuda的深度學習函式庫, 讓相關的DNN framework去呼叫使用. 就可以利用GPU來加速運算. 舉例: 選用tensorflow來開發, 網站有提供cpu與gpu(基於cuda)版本, 直接使用GPU(支援cuda)版本即可. TensorRT
TensortRT主要用於inference. 即是把deep learning framework(tensorRT 3支援Caffe與TensorFlow格式)訓練完畢的model. 匯出成tensortRT可以接受的model格式. 匯入的trained的model會被最佳化這幾項:
- Weight & Activation Precision Calibration
- Layer & Tensor Fusion
- Kernel Auto-Tuning
- Dynamic Tensor Memory
- Multi-Stream Execution
留言
張貼留言