九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【github干貨】主流深度學習開源框架從入門到熟練

言有三

畢業(yè)于中國科學院,計算機視覺方向從業(yè)者,有三AI學院等創(chuàng)始人

作者 | 言有三

編輯 | 言有三

今天送上有三AI學院第一個github項目

01

項目背景

目前深度學習框架呈百家爭鳴之態(tài)勢,光是為人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,tiny-dnn,deeplearning4j,matconvnet等,一個合格的深度學習算法工程師怎么著都得熟悉其中的3個以上吧。

而且,學習不應該停留在官方的demo上,而是要學會從自定義數據的讀取,自定義網絡的搭建,模型的訓練,模型的可視化,模型的測試與部署等全方位進行掌握。

因此,我們開設了這個github項目,以圖像分類任務為基準,帶領大家一步一步入門,后續(xù)會增加分割,檢測等任務。

當前的圖像分類任務為二分類的表情分類任務,為微笑與非微笑兩個類別,案例樣本如下。

無表情

微笑

02

框架簡介

總的來說,深度學習系統(tǒng)通常有兩種編程方式,一種是聲明式編程(declarative programming),用戶只需要聲明要做什么,而具體執(zhí)行則由系統(tǒng)完成。以Caffe,TensorFlow的計算圖為代表。優(yōu)點是由于在真正開始計算的時候已經拿到了整個計算圖,所以可以做一系列優(yōu)化來提升性能。實現輔助函數也容易,例如對任何計算圖都提供forward和backward函數,另外也方便對計算圖進行可視化,將圖保存到硬盤和從硬盤讀取。缺點是debug很麻煩,監(jiān)視一個復雜的計算圖中的某個節(jié)點的中間結果并不簡單,邏輯控制也不方便。

一種是命令式編程(imperative programming),以numpy,torch/pytorch為代表,每個語句按照原來的意思順序執(zhí)行。它 的特點是語義上容易理解,靈活,可以精確控制行為。通??梢詿o縫地和主語言交互,方便地利用主語言的各類算法,工具包,debug和性能調試器,但是實現統(tǒng)一的輔助函數和提供整體優(yōu)化都很困難。

綜上,各有優(yōu)劣,自由選擇,這里不是為了給大家詳細介紹框架,而是快速掃盲,更多請閱讀對應文章和官方文檔,相關代碼進行學習。

2.1 caffe

Caffe是伯克利的賈揚清主導開發(fā),以C++/CUDA 代碼為主,最早的深度學習框架之一,比 TensorFlow、Mxnet、Pytorch 等都更早,需要進行編譯安裝。

支持命令行、Python和Matlab接口,單機多卡、多機多卡等都可以很方便的使用,快速入門見下文。

【caffe速成】caffe圖像分類從模型自定義到測試

2.2 tensorflow

TensorFlow是Google brain推出的開源機器學習庫,與Caffe一樣,主要用作深度學習相關的任務。與Caffe相比TensorFlow的安裝簡單很多。

TensorFlow = Tensor + Flow,Tensor 就是張量,代表N維數組,這與Caffe中的blob是類似的;Flow即流,代表基于數據流圖的計算。

TensorFlow最大的特點是計算圖,即先定義好圖,然后進行運算,所以所有的TensorFlow代碼,都包含兩部分:

(1) 創(chuàng)建計算圖,表示計算的數據流。它做了什么呢?實際上就是定義好了一些操作,你可以將它看做是Caffe中的prototxt 的定義過程。

(2)運行會話,執(zhí)行圖中的運算,可以看作是Caffe中的訓練過程。只是TensorFlow的會話比Caffe靈活很多,由于是Python 接口,取中間結果分析,Debug等方便很多,快速入門見下文。

【tensorflow速成】Tensorflow圖像分類從模型自定義到測試

2.3 mxnet

mxnet是amazon的官方框架,它嘗試將上面說的兩種模式無縫的結合起來。在命令式編程上MXNet提供張量運算,進行模型的迭代訓練和更新中的控制邏輯;在聲明式編程中MXNet支持符號表達式,用來描述神經網絡,并利用系統(tǒng)提供的自動求導來訓練模型,快速入門見下文。

【mxnet速成】mxnet圖像分類從模型自定義到測試

2.4 pytorch 

一句話總結Pytorch = Python + Torch。

Torch是紐約大學的一個機器學習開源框架,幾年前在學術界非常流行,包括Lecun等大佬都在使用。但是由于使用的是一種絕大部分人絕對沒有聽過的Lua語言,導致很多人都被嚇退。后來隨著Python的生態(tài)越來越完善,Facebook人工智能研究院推出了Pytorch并開源。Pytorch不是簡單的封裝Torch 并提供Python 接口,而是對Tensor以上的所有代碼進行了重構,同TensorFlow一樣,增加了自動求導。

后來Caffe2全部并入Pytorch,如今已經成為了非常流行的框架。很多最新的研究如風格化、GAN等大多數采用Pytorch源碼,快速入門見下文。

【pytorch速成】Pytorch圖像分類從模型自定義到測試

2.5 paddlepaddle 

正所謂google有tensorflow,facebook有pytorch,amazon有mxnet,作為國內機器學習的先驅,百度也有PaddlePaddle,其中Paddle即Parallel Distributed Deep Learning(并行分布式深度學習),整體使用起來與tensorflow非常類似,可參考下文。

【paddlepaddle速成】paddlepaddle圖像分類從模型自定義到測試

2.6 keras

Keras是一個非常流行、簡單的深度學習框架,它的設計參考了torch,用Python語言編寫,是一個高度模塊化的神經網絡庫,能夠在TensorFlow,CNTK或Theano之上運行。 Keras的特點是能夠快速實現模型的搭建,是高效地進行科學研究的關鍵,可參考下文。

【Keras速成】Keras圖像分類從模型自定義到測試

2.7 其他

除了以上最常用的框架,還有theano,cntk,tiny-dnn,deeplearning 4j,matconvnet等,我們后續(xù)會補充教程,增強github案例,歡迎大家關注,下面是github項目鏈接,歡迎來做貢獻。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如此多的深度學習框架,為什么我選擇PyTorch?
「10大深度學習框架實驗對比」Caffe2最優(yōu),TensorFlow排第6
TensorFlow全球下載量破1億,Jeff Dean激動不已,但網友卻不給面子
2017 深度學習框架發(fā)展大盤點——迎來 PyTorch,告別 Theano
八大深度學習框架,你選哪一個?
深度學習領域中常用的十種深度學習框架
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服