<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

?計算機視覺深度學習訓練推理框架

新機器視覺 ? 來源:新機器視覺 ? 2023-05-08 14:20 ? 次閱讀

前言本文整理了一些深度學習訓練推理框架,涉及計算機視覺、語音、時序任務上的框架,共計20多種。

1訓練框架

Pytorch

PyTorch是由Facebook人工智能研究小組開發的一種基于Lua編寫的Torch庫的Python實現的深度學習庫,也是目前使用范圍和體驗感最好的一款深度學習框架。它的底層基于Torch,但實現與運用全部是由python來完成。該框架主要用于人工智能領域的科學研究與應用開發。PyTroch最主要的功能有兩個,其一是擁有GPU張量,該張量可以通過GPU加速,達到在短時間內處理大數據的要求;其二是支持動態神經網絡,可逐層對神經網絡進行修改,并且神經網絡具備自動求導的功能。

一些學習資料與文檔:

  • Awesome-pytorch-list:包含了NLP,CV,常見庫,論文實現以及Pytorch的其他項目,地址:https://github.com/bharathgs/Awesome-pytorch-list;
  • PyTorch官方文檔:官方發布文檔,地址:https://pytorch.org/docs/stable/index.html;
  • Pytorch-handbook:pytorch hand book,地址:https://github.com/zergtant/pytorch-handbook;
  • PyTorch官方社區:pytorch開發者社區,地址:https://discuss.pytorch.org/

MXNet

MXNet 是亞馬遜維護的深度學習庫,它擁有類似于 Theano 和 TensorFlow 的數據流圖,為多 GPU 提供了良好的配置。MXNet結合了高性能、clean的代碼,高級API訪問和低級控制,是深度學習框架中的佼佼者。

0a058794-ed66-11ed-90ce-dac502259ad0.png

優點

  1. 速度上有較大優勢;
  2. 靈活編程,支持命令式和符號式編程模型;
  3. 多平臺支持:可運行于多CPU、多GPU、集群、服務器、工作站甚至移動mobile phone;
  4. 多語言支持:支持包括C++、Python、R、Scala、Julia、MatlabJavaScript語言;
  5. 性能優化:使用一個優化的C++后端引擎并行I/O和計算,無論使用哪種語言都能達到最佳性能;
  6. 云端友好;

缺點

  1. 社區較??;
  2. 入門稍微困難些;

Tensorflow

TensorFlow是由谷歌開源并維護,可用于各類深度學習相關的任務中。TensorFlow = Tensor + Flow,Tensor就是張量,代表N維數組;Flow即流,代表基于數據流圖的計算,其特性如下:

  • 支持Python、JavaScript、C ++、Java、Go、C#、Julia和R等多種編程語言;
  • GPU,iOSAndroid等移動平臺上都可運行;
  • 入門學習難度大;
  • 靜態圖操作;

Caffe

經典的深度學習框架,由賈揚清在加州大學伯克利分校讀博期間主導開發,以C++/CUDA為主,需要編譯安裝,有python和matlab接口,支持單機多卡、多機多卡訓練(目前已推出caffe2),特性如下:

  • 以C++/CUDA/Python代碼為主,速度快,性能高;
  • 代碼結構清晰,可讀性和可拓展性強。
  • 支持命令行、Python和Matlab接口,使用方便;
  • CPU和GPU之間切換方便,多GPU訓練方便;
  • 工具豐富,社區活躍;
  • 代碼修改難度較大,不支持自動求導;
  • 不適合非圖像(結構化)數據;

CNTK

微軟開源的深度學習框架,CNTK具有高度優化的內置組件,可以處理來自Python,C ++或BrainScript的多維密集或稀疏數據。能夠實現CNN,DNN,RNN等任務,能夠優化海量的數據集加載。

主要特性:

  • CNTK性能優于其他的開源框架;
  • 適合做語音任務,CNTK本就是微軟語音團隊開源的,自然更適合做語音任務,便于在使用RNN等模型以及時空尺度時進行卷積;

學習資料與教程

入門介紹:https://github.com/Microsoft/CNTK/wiki

官方入門教程:https://github.com/Microsoft/CNTK/wiki/Tutorial

官方論壇:https://github.com/Microsoft/CNTK/issues

Keras

一個小白非常友好的框架,上手簡單,已被集成到Tensorflow中。Keras在高層可以調用TensorFlow、CNTK、Theano,還有更多優秀的庫也在被陸續支持中。Keras的特點是能夠快速搭建模型,高度模塊化,搭建網絡非常簡潔,易于添加新模塊,是高效地進行科學研究的關鍵。

學習資料:

  • https://tensorflow.rstudio.com/keras/
  • https://github.com/rstudio/keras

PaddlePaddle

百度開源框架,支持動態圖和靜態圖,中文文檔寫的非常清楚,上手比較簡單;

官網鏈接:https://www.paddlepaddle.org.cn/

飛槳針對不同硬件環境,提供了豐富的支持方案,生態較為完善:

  1. Paddle Inference:飛槳原生推理庫,用于服務器端模型部署,支持Python、C、C++、Go等語言,將模型融入業務系統的首選;
  2. Paddle Serving:飛槳服務化部署框架,用于云端服務化部署,可將模型作為單獨的Web服務;
  3. Paddle Lite:飛槳輕量化推理引擎,用于 Mobile 及 IoT 等場景的部署,有著廣泛的硬件支持;
  4. Paddle.js:使用 JavaScript(Web)語言部署模型,用于在瀏覽器、小程序等環境快速部署模型;
  5. PaddleSlim:模型壓縮工具,獲得更小體積的模型和更快的執行性能;
  6. X2 Paddle:輔助工具,將其他框架模型轉換成Paddle模型,轉換格式后可以方便的使用上述5個工具;

OneFlow

項目地址:https://github.com/Oneflow-Inc/oneflow

一流科技開源的深度學習框架,使用類似PyTorch的API編程模型使用全局視圖API將模型縮放為n維并行/分布式執行使用靜態圖編譯器加速/部署模型。主要有以下優勢:

  1. 分布式性能(高效性)是深度學習框架的核心技術難點,OneFlow圍繞性能提升和異構分布式擴展,采用靜態編譯和流式并行的核心理念和架構,解決了集群層面的內存墻挑戰;
  2. OneFlow計算集群內部的通信和調度消耗,提高硬件利用率,加快模型訓練速度,訓練成本時間大幅縮減;
  3. 自動支持模型并行與流水并行:OneFlow天生支持數據并行、模型并行和混合并行,無需定制化開發;

MegEngine

項目地址:https://www.megengine.org.cn/

MegEngine 是曠視完全自主研發的深度學習框架,中文名為“天元”,是曠視 AI 戰略的重要組成部分,負責 AI 三要素(算法,算力,數據)中的“算法”。MegEngine 的研發始于 2014 年,曠視內部全員使用。如今,曠視的所有算法均基于 MegEngine 進行訓練和推理。

0a299ce2-ed66-11ed-90ce-dac502259ad0.png

MegEngine 特性:

  1. 訓練推理一體化:MegEngine 支持多種硬件平臺( CPU,GPU,ARM ),不同硬件上的推理框架和 MegEngine 的訓練框架無縫銜接;部署時無需做額外的模型轉換,速度/精度和訓練保持一致,有效解決了 AI 落地中“部署環境和訓練環境不同,部署難”的問題。
  2. 動靜合一:動態圖易調試,靜態圖好部署。MegEngine 在靜態圖的基礎上,逐漸加入支持完整動態圖的功能,在動態模式下加速研發過程,無需改變模型代碼一鍵切換至靜態模式下的部署,為科研和算法工程師同時提供便利。
  3. 兼容并包:MegEngine 的頂層 API 基于 Python,采取了類似于 PyTorch 的風格。簡單直接,易于上手,便于現有項目進行移植或整合。
  4. 靈活高效:MegEngine 底層的高性能算子庫對于不同的硬件架構進行了深度適配和優化,并提供高效的亞線性內存優化策略,對于生產環境繁多的計算設備提供了極致的性能保證,高效易用的分布式訓練實現能有效支持富有彈性的大規模訓練。

DeepLearning4j

基于Java的深度學習框架,正式誕生于2013年,在2017年加入Eclipse基金會,由美國的Skymind開源并維護。

項目地址:https://github.com/eclipse/deeplearning4j

  • 支持神經網絡模型的構建、模型訓練和部署;
  • 能夠與現有大數據生態進行無縫銜接(Hadoop、Spark等),也是可以原生態支持分布式模型訓練的框架之一;
  • 支持多線程;
  • 跨平臺(硬件:CUDA GPu,x86,ARM,PowerPC;操作系統:Windows/Mac/Linux/Android);

2推理框架

TensorRT

Nvidia自家的推理庫,幾乎是自動駕駛邊緣部署領域的標配,更新也很頻繁,issue反饋及時,社區維護較好;TensorRT的應用場景很多,服務端、嵌入式端、PC端;利用Pytorch、TF或者其他框架訓練好的模型,轉化為TensorRT的格式,然后利用TensorRT推理引擎去運行模型,從而提升模型在英偉達板子上的運行速度,速度提升的比例是比較可觀的。

項目鏈接:https://github.com/NVIDIA/TensorRT

0a3b54d2-ed66-11ed-90ce-dac502259ad0.png

NCNN

騰訊開源的ncnn 是一個為手機端極致優化的高性能神經網絡前向計算框架。ncnn 從設計之初深刻考慮手機端的部署和使用。無第三方依賴,跨平臺,手機端 cpu 的速度快于目前所有已知的開源框架?;?ncnn,開發者能夠將深度學習算法輕松移植到手機端高效執行,開發出人工智能 APP,將 AI 帶到你的指尖。

項目鏈接:https://github.com/Tencent/ncnn

TNN

Tencent Youtu Lab開源的高性能、輕量級神經網絡推理框架。它還具有跨平臺、高性能、模型壓縮和代碼裁剪等諸多突出優勢。TNN框架在原有Rapidnet和ncnn框架的基礎上進一步加強了對移動設備的支持和性能優化。同時,它借鑒了業界主流開源框架的高性能和良好的可擴展性特點,并擴展了對X86和NV GPU的支持。在手機上,TNN已被許多應用程序使用。作為騰訊云人工智能的基本加速框架,TNN為許多業務的實施提供了加速支持。

項目鏈接:https://github.com/Tencent/TNN

MNN

MNN是一個高效、輕量級的深度學習框架。它支持深度學習模型的推理和訓練,在設備推理和訓練方面具有業界領先的性能。目前,MNN已整合在淘寶、天貓、優酷、鼎語、仙語等30多個阿里巴巴應用中,涵蓋直播、短視頻捕獲、搜索推薦、圖片搜索、互動營銷、股權分銷、安全風險控制等70多個使用場景。此外,MNN還用于嵌入式設備,如物聯網。

項目鏈接:https://github.com/alibaba/MNN

TensorFlow Lite

這是Google在2017年I/O開發者大會上開源的將TensorFlow訓練好的模型遷移到Android App的框架,地址和一些學習資源如下:TensorFlow Lite使用Android Neural Networks API,默認調用CPU,目前最新的版本已經支持GPU。

項目地址:https://tensorflow.google.cn/lite/

Core ML

Core ML是2017年Apple公司在WWDC上與iOS11同時發布的移動端機器學習框架,底層使用Accelerate和Metal分別調用CPU和GPU。Core ML需要將你訓練好的模型轉化為Core ML model。

在一年之后,也就是2018年WWDC上,Apple發布了Core ML 2,主要改進就是通過權重量化等技術優化模型的大小,使用新的Batch Predict API提高模型的預測速度,以及容許開發人員使用MLCustomLayer定制自己的Core ML模型。

項目地址:https://developer.apple.com/documentation/coreml

Paddle-Mobile

Paddle-Mobile是2017年百度PaddlePaddle組織下的移動端深度學習開源框架,當時叫做mobile-deep-learning(MDL)。支持安卓和ios平臺,CPU和GPU使用,提供量化工具??梢灾苯邮褂肞addle Fluid訓練好的模型,也可以將Caffe模型進行轉化,或者使用ONNX格式的模型。

項目地址:https://github.com/PaddlePaddle/paddle-mobile

caffe2

Caffe2是facebook在2017年發布的一個跨平臺、輕量級、模塊化和可擴展的深度學習框架。Caffe2以原Caffe為基礎,在設計時考慮到了表達、速度和模塊化。不僅僅支持Windows,Linux,Macos三大桌面系統,也支持移動端iOS,Android,可以說是集訓練和推理于一身。

MACE

MACE是2018年小米在開源中國開源世界高峰論壇中宣布開源的移動端框架,以OpenCL和匯編作為底層算子,提供了異構加速可以方便在不同的硬件上運行模型,同時支持各種框架的模型轉換。

Mobile AI Compute Engine (MACE)是一個專為移動端異構計算平臺(支持Android, iOS, Linux, Windows)優化的神經網絡計算框架。主要從以下的角度做了專門的優化:

  • 性能:代碼經過NEON指令,OpenCL以及Hexagon HVX專門優化,并且采用 Winograd算法來進行卷積操作的加速。此外,還對啟動速度進行了專門的優化。
  • 功耗:支持芯片的功耗管理,例如ARM的big.LITTLE調度,以及高通Adreno GPU功耗選項。
  • 系統響應:支持自動拆解長時間的OpenCL計算任務,來保證UI渲染任務能夠做到較好的搶占調度, 從而保證系統UI的相應和用戶體驗。
  • 內存占用:通過運用內存依賴分析技術,以及內存復用,減少內存的占用。另外,保持盡量少的外部 依賴,保證代碼尺寸精簡。
  • 模型加密與保護:模型保護是重要設計目標之一。支持將模型轉換成C++代碼,以及關鍵常量字符混淆,增加逆向的難度。
  • 硬件支持范圍:支持高通,聯發科,以及松果等系列芯片的CPU,GPU與DSP(目前僅支持Hexagon)計算加速。CPU模式支持Android, iOS, Linux等系統。
  • 模型格式支持支持TensorFlow, Caffe和ONNX等模型格式。

項目地址:https://github.com/XiaoMi/mace-models

NNIE

NNIE 是 Neural Network Inference Engine 的簡稱,是海思媒體 SoC 中專門針對神經網 絡特別是深度學習卷積神經網絡進行加速處理的硬件單元,支持現有大部分的公開網 絡,如 Alexnet、VGG16、Googlenet、Resnet18、Resnet50 等分類網絡,Faster R- CNN、YOLO、SSD、RFCN 等檢測網絡,以及 SegNet、FCN 等場景分割網絡。目前 NNIE 配套軟件及工具鏈僅支持以 Caffe 框架,使用其他框架的網絡模型需要轉化 為 Caffe 框架下的模型。該框架在海思系列芯片上性能極佳,很大的缺陷就在于僅限于海思系列芯片。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1779

    文章

    44388

    瀏覽量

    231216
  • 深度學習
    +關注

    關注

    73

    文章

    5250

    瀏覽量

    120024
  • pytorch
    +關注

    關注

    2

    文章

    766

    瀏覽量

    12873

原文標題:?計算機視覺深度學習訓練推理框架

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    計算機視覺/深度學習領域常用數據集匯總

    、定位、檢測等研究工作大多基于此數據集展開。Imagenet數據集文檔詳細,有專門的團隊維護,使用非常方便,在計算機視覺領域研究論文中應用非常廣,幾乎成為了目前深度學習圖像領域算法性能
    發表于 08-29 10:36

    CV之YOLO:深度學習計算機視覺神經網絡tiny-yolo-5clessses訓練自己的數據集全程記錄

    CV之YOLO:深度學習計算機視覺神經網絡tiny-yolo-5clessses訓練自己的數據集全程記錄
    發表于 12-24 11:50

    CV之YOLOv3:深度學習計算機視覺神經網絡Yolov3-5clessses訓練自己的數據集全程記錄

    CV之YOLOv3:深度學習計算機視覺神經網絡Yolov3-5clessses訓練自己的數據集全程記錄
    發表于 12-24 11:51

    計算機視覺神經網絡資料全集

    CV之YOLOv3:深度學習計算機視覺神經網絡Yolov3-5clessses訓練自己的數據集全程記錄(第二次)——Jason niu
    發表于 12-24 11:52

    請問計算機視覺深度學習要看什么書?

    計算機視覺深度學習,看這本書就夠了
    發表于 05-21 12:43

    用于計算機視覺訓練的圖像數據集介紹

    用于計算機視覺訓練的圖像數據集
    發表于 02-26 07:35

    深度學習計算機視覺領域圖像應用總結 精選資料下載

    簡單的回顧的話,2006年Geoffrey Hinton的論文點燃了“這把火”,現在已經有不少人開始潑“冷水”了,主要是AI泡沫太大,而且深度學習不是包治百病的藥方。計算機視覺不是
    發表于 07-28 08:22

    超全!深度學習計算機視覺領域應用一覽(附鏈接)精選資料分享

    這是一份深度學習計算機視覺領域的超全應用預覽~簡單回顧的話,2006年Geof...
    發表于 07-28 07:35

    深度學習與傳統計算機視覺簡介

    文章目錄1 簡介1.1 深度學習與傳統計算機視覺1.2 性能考量1.3 社區支持2 結論3 參考在計算機
    發表于 12-23 06:17

    技術 | 深度學習計算機視覺領域的瓶頸已至

    霍金的弟子,約翰霍普金斯大學教授Alan Yuille提出“深度學習計算機視覺領域的瓶頸已至。
    的頭像 發表于 07-05 10:07 ?2375次閱讀

    深度學習計算機視覺上的四大應用

    計算機視覺中比較成功的深度學習的應用,包括人臉識別,圖像問答,物體檢測,物體跟蹤。
    的頭像 發表于 08-24 16:16 ?4123次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學習</b>在<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>上的四大應用

    淺析4個計算機視覺領域常用遷移學習模型

    使用SOTA的預訓練模型來通過遷移學習解決現實的計算機視覺問題。
    的頭像 發表于 04-23 18:08 ?1231次閱讀
    淺析4個<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>領域常用遷移<b class='flag-5'>學習</b>模型

    深度學習框架區分訓練還是推理

    深度學習框架區分訓練還是推理深度學習
    的頭像 發表于 08-17 16:03 ?1061次閱讀

    計算機視覺中的九種深度學習技術

    計算機視覺中仍有許多具有挑戰性的問題需要解決。然而,深度學習方法正在針對某些特定問題取得最新成果。 在最基本的問題上,最有趣的不僅僅是深度
    發表于 08-21 09:56 ?375次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>中的九種<b class='flag-5'>深度</b><b class='flag-5'>學習</b>技術

    視覺深度學習遷移學習訓練框架Torchvision介紹

    Torchvision是基于Pytorch的視覺深度學習遷移學習訓練框架,當前支持的圖像分類、對
    的頭像 發表于 09-22 09:49 ?503次閱讀
    <b class='flag-5'>視覺</b><b class='flag-5'>深度</b><b class='flag-5'>學習</b>遷移<b class='flag-5'>學習</b><b class='flag-5'>訓練</b><b class='flag-5'>框架</b>Torchvision介紹
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>