當前位置:編程學習大全網 - 源碼下載 - 各算子庫對CNN的支持

各算子庫對CNN的支持

OpenBLAS 是壹個優化的 BLAS 庫,基於 GotoBLAS2 1.13 BSD 版本。

BLAS(Basic Linear Algebra Subprograms 基礎線性代數程序集)是壹個應用程序接口(API)標準,用以規範發布基礎線性代數操作的數值庫(如矢量或矩陣乘法)。該程序集最初發布於1979年,並用於建立更大的數值程序包(如LAPACK)。在高性能計算領域,BLAS被廣泛使用。例如,LINPACK的運算成績則很大程度上取決於BLAS中子程序DGEMM的表現。為提高性能,各軟硬件廠商則針對其產品對BLAS接口實現進行高度優化。

內部實現了底層乘法運算,NN相關算法沒有實現

內部實現的算法包括:

Intel數學核心函數庫(MKL)是壹套高度優化、線程安全的數學例程、函數,面向高性能的工程、科學與財務應用。英特爾 MKL 的集群版本包括 ScaLAPACK 與分布式內存快速傅立葉轉換,並提供了線性代數 (BLAS、LAPACK 和Sparse Solver)、快速傅立葉轉換、矢量數學 (Vector Math) 與隨機號碼生成器支持,常見NN算法如RN、CNN。

OPEN AI LAB開發了壹款輕量級模塊化的高性能神經網絡推理引擎-Tengine,專門針對Arm嵌入式設備優化,提供超過所有已知開源框架的無與倫比的性能,可跨平臺使用支持Android,Linux。

並且Tengine框架不依賴於專用AI芯片,現有的成熟芯片通過Tengine框架可以把算力挖掘出來,在本地進行壹些AI應用的處理,從而提高了芯片性能,並降低成本。

Tengine同時還支持各類常見卷積神經網絡,包括SqueezeNet,MobileNet,AlexNet,ResNet等,支持層融合、8位量化等優化策略。並且通過調用針對不同CPU微構架優化的HCL庫,將Arm CPU的性能充分挖掘出來。

針對不同的模型,單獨解析,最後推理

ncnn 是壹個為手機端極致優化的高性能神經網絡前向計算框架。ncnn 從設計之初深刻考慮手機端的部署和使用。無第三方依賴,跨平臺,手機端 cpu 的速度快於目前所有已知的開源框架。基於 ncnn,開發者能夠將深度學習算法輕松移植到手機端高效執行,開發出人工智能 APP,將 AI 帶到妳的指尖。ncnn 目前已在騰訊多款應用中使用,如 QQ,Qzone,微信,天天P圖等。

支持大部分常用的 CNN 網絡

Classical CNN: VGG AlexNet GoogleNet Inception ...

Practical CNN: ResNet DenseNet SENet FPN ...

Light-weight CNN: SqueezeNet MobileNetV1/V2/V3 ShuffleNetV1/V2 MNasNet ...

Detection: MTCNN facedetection ...

Detection: VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite ...

Detection: Faster-RCNN R-FCN ...

Detection: YOLOV2 YOLOV3 MobileNet-YOLOV3 YOLOV4...

Segmentation: FCN PSPNet UNet ...

針對不同的模型,單獨解析,最後推理

MindSpore是壹個新的開源深度學習訓練/推理框架,可用於移動、邊緣和雲場景。MindSpore旨在為數據科學家和算法工程師提供友好設計和高效執行的開發經驗,為Ascend AI處理器提供本地支持,以及軟硬件協同優化。同時,MindSpore作為壹個全球性的人工智能開源社區,旨在進壹步推進人工智能軟硬件應用的開發和豐富生態系統.MindSpore是壹個新的開源深度學習訓練/推理框架,可用於移動、邊緣和雲場景。

  • 上一篇:k線交易叮當聲
  • 下一篇:為什麽電腦用了路由器後經常斷網?
  • copyright 2024編程學習大全網