All Projects → rexbu → Libgdl

rexbu / Libgdl

Licence: gpl-3.0
一个移动端跨平台的gpu+cpu并行计算的cnn框架(A mobile-side cross-platform gpu+cpu parallel computing CNN framework)

Projects that are alternatives of or similar to Libgdl

Tf Mobilenet V2
Mobilenet V2(Inverted Residual) Implementation & Trained Weights Using Tensorflow
Stars: ✭ 85 (-6.59%)
Mutual labels:  cnn, mobilenet
Mk Tfjs
Play MK.js with TensorFlow.js
Stars: ✭ 133 (+46.15%)
Mutual labels:  cnn, mobilenet
Face landmark dnn
Face Landmark Detector based on Mobilenet V1
Stars: ✭ 92 (+1.1%)
Mutual labels:  cnn, mobilenet
Tf Pose Estimation
Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference.
Stars: ✭ 3,856 (+4137.36%)
Mutual labels:  cnn, mobilenet
Object Localization
Object localization in images using simple CNNs and Keras
Stars: ✭ 130 (+42.86%)
Mutual labels:  cnn, mobilenet
Jacinto Ai Devkit
Training & Quantization of embedded friendly Deep Learning / Machine Learning / Computer Vision models
Stars: ✭ 49 (-46.15%)
Mutual labels:  cnn, mobilenet
Sentiment 2017 Imavis
From Pixels to Sentiment: Fine-tuning CNNs for Visual Sentiment Prediction
Stars: ✭ 85 (-6.59%)
Mutual labels:  cnn
End To End Sequence Labeling Via Bi Directional Lstm Cnns Crf Tutorial
Tutorial for End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF
Stars: ✭ 87 (-4.4%)
Mutual labels:  cnn
Tensorflow Cifar 10
Cifar-10 CNN implementation using TensorFlow library with 20% error.
Stars: ✭ 85 (-6.59%)
Mutual labels:  cnn
Cfsrcnn
Coarse-to-Fine CNN for Image Super-Resolution (IEEE Transactions on Multimedia,2020)
Stars: ✭ 84 (-7.69%)
Mutual labels:  cnn
Image Quality Assessment
Convolutional Neural Networks to predict the aesthetic and technical quality of images.
Stars: ✭ 1,300 (+1328.57%)
Mutual labels:  mobilenet
Cnn intent classification
CNN for intent classification task in a Chatbot
Stars: ✭ 90 (-1.1%)
Mutual labels:  cnn
Wb color augmenter
WB color augmenter improves the accuracy of image classification and image semantic segmentation methods by emulating different WB effects (ICCV 2019) [Python & Matlab].
Stars: ✭ 89 (-2.2%)
Mutual labels:  cnn
Cnn For Stock Market Prediction Pytorch
CNN for stock market prediction using raw data & candlestick graph.
Stars: ✭ 86 (-5.49%)
Mutual labels:  cnn
12306 captcha
基于深度学习识别12306验证码
Stars: ✭ 89 (-2.2%)
Mutual labels:  cnn
Cnn lstm for text classify
CNN, LSTM, NBOW, fasttext 中文文本分类
Stars: ✭ 90 (-1.1%)
Mutual labels:  cnn
Single Human Parsing Lip
PSPNet implemented in PyTorch for single-person human parsing task, evaluating on Look Into Person (LIP) dataset.
Stars: ✭ 84 (-7.69%)
Mutual labels:  cnn
Visual Feature Attribution Using Wasserstein Gans Pytorch
Implementation of Visual Feature Attribution using Wasserstein GANs (VAGANs, https://arxiv.org/abs/1711.08998) in PyTorch
Stars: ✭ 88 (-3.3%)
Mutual labels:  cnn
Snail Pytorch
Implementation of "A Simple Neural Attentive Meta-Learner" (SNAIL, https://arxiv.org/pdf/1707.03141.pdf) in PyTorch
Stars: ✭ 90 (-1.1%)
Mutual labels:  cnn
Cnn Fixations
Visualising predictions of deep neural networks
Stars: ✭ 87 (-4.4%)
Mutual labels:  cnn

libGDL

一个移动端跨平台的gpu+cpu并行计算的cnn框架。基于C++和opengles3.0开发,可以非常方便移植到任何一个支持opengles的平台上。

说明

libGDL特点

  • 纯C++代码,没有依赖任何的第三方库,非常方便移植和编译。基于的libGPU是本人开发的一个C++版本的GPUImage
  • 基于opengles 3.0实现,所以理论上libGDL可以应用于iphone5s及android 4.4之后的所有手机上
  • 卷积层使用opengles的fbo渲染实现,全连接层基于neon优化,卷积层和全连接之间的数据传输通过pbo实现
  • 卷积层和全连接层为并行计算

TODO

  • 详细的开发文档和说明文档后续会补充
  • 重点放在了卷积层的优化上,全连接层只是简单使用了neon加速,还有较大优化空间
  • 由于本人条件限制,android并未做较多的兼容性测试
  • 卷积层的大部分时间都消耗在了纹理采样上,每个卷积层的计算速度和通道数、通道尺寸成正比。哪位gpu的底层大牛协助下优化采样效率,速度还可以提升一个量级(注意是量级的提升!)
  • 目测android的显存有限,对于较大网络目前的框架会有问题。
  • 卷积层和全连接层之间的数据交换使用pbo,但是我发现在少量iphone手机上,pbo并未起作用,耗时和glReadPixels耗时一样,这样会极大影响计算速度(可能在10ms以上)
  • 对MobileNet、YOLO等常用模型的支持
  • 模型转换目前只提供了tensorflow的ckpt格式转换

目录说明

  • libGPU: 一个类似于GPUImage的跨平台opengles框架,支持2.0和3.0,项目地址:https://github.com/rexbu/libGPU
  • src: libGDL的框架代码
  • style: 基于libGDL定义的一个风格迁移源码
  • tools: 一个以mnist为例的将tensorflow的ckpt模型转为gdl模型

demo说明

程序里提供了2个demo,一个风格迁移、一个mnist。

  • 风格迁移使用了9个卷积层、1个正则层、9个逆卷积层,这样规模的网络在我的小米4c(骁龙808)上跑不起来,暂时不清楚是不是显存太小导致的 风格迁移的demo由于网络规模的问题,所以无法做到实时,demo结果如图: 风格迁移

性能

mnist为例进行了性能测试,模型13.1M,第一个卷积层5x5x32,第二个卷积层5x5x64,第一个全连接层3136x1024,第二个全连接层1024x10。

iphone5s的速度

iphone速度

小米4c的速度(骁龙808)

iphone速度

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].