基于OpenGL ES 的深度学习框架编写

基于OpenGL ES的深度学习框架编写背景与工程定位背景项目组基于深度学习实现了视频风格化和人像抠图的功能,但这是在PC/服务端上跑的,现在需要移植到移动端,因此需要一个移动端的深度学习的计算框架。同类型的库caffe-android-lib 目前应该是最便于集成使用的深度学习框架库。 tensorflow和mxnet据说也有对应的android库,因时间原因暂未测试。 CNNdroid,网址...
阅读(5250) 评论(6)

3D文件压缩库——Draco简析

3D文件压缩库——Draco简析今年1月份时,google发布了名为“Draco”的3D图形开源压缩库,下载了其代码来看了下,感觉虽然暂时用不到,但还是有前途的,故简单做下分析。注:Draco 代码地址: https://github.com/google/draco基本使用编译cmake . + make 编译源码,生成 draco_encoder 和 draco_decoder 两个可执行文件...
阅读(800) 评论(0)

OpenGL的替代者——Vulkan

OpenGL的替代者——VulkanVulkan是一个跨平台的2D和3D绘图应用程序接口(API),最早由科纳斯(Khronos)组织在2015年游戏开发者大会(GDC)上发表。旨在替代OpenGL,提高图形性能。基于OpenGL的图形引擎性能瓶颈基于OpenGL的图形引擎,其渲染过程粗略可分为 主机端资源准备,设备端数据交互与管线准备 及 每帧循环的渲染 三个部分。 资源加载这一过程跟GPU没有...
阅读(1283) 评论(0)

从软件工程的角度写机器学习6——深度学习之卷积神经网络(CNN)实现

卷积神经网络(CNN)实现背景卷积神经网络广泛用于图像检测,它的实现原理与传统神经网络基本上是一样的,因此将普遍意义的神经网络和卷积神经网络的实现合成一篇。神经网络实现思路“扔掉神经元”尽管所有教程在介绍神经网络时都会把一大堆神经元画出来,并且以输入节点——神经元——输出结点连线,但是,在编程实现时,基于神经元去编程是低效的。典型如这篇经典文章里面的代码: http://blog.csdn.net...
阅读(2212) 评论(1)

从软件工程的角度写机器学习5——SVM(支持向量机)实现

SVM实现SVM在浅层学习时代是主流监督学习算法,在深度学习时代也往往作为最后一个预测层使用。本系列文章旨在讲解机器学习算法的工程实现方法,不在于推导数学原理。...
阅读(1481) 评论(1)

从软件工程的角度写机器学习4——-C4.5决策树的工程实现

C4.5决策树的工程实现这篇文章开始,将讲述一系列机器学习算法的工程实现方案。出于常用且简单的考虑,选择了C4.5决策树作为第一个算法。工程框架鉴于本篇是第一个算法实现,应此需要把整个工程框架介绍一下。 出于最优性能考虑,本框架是为C/C++语言设计的。不过即使用其他语言,也可以按这个框架实现,模块还可以再精简。本工程定位: 1、无脑版机器学习算法库,使用者基本不需要了解任何算法细节,也不需要了...
阅读(2884) 评论(0)

GPU与GPGPU泛淡

GPU与GPGPU泛淡GPU(Graphics Processing Unit),也即显卡,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上作图像运算工作的微处理器。它已经是个人PC和移动设备上不可或缺的芯片,有界面有显示的地方,一般就离不开它。高清电视、智能手机、个人电脑。GPU的产生是为了解决图形渲染效率的问题,但随着技术进步,GPU越来越强大,尤其是shader出...
阅读(7788) 评论(0)

从软件工程的角度写机器学习3——主要监督学习算法的工程性分析

主要机器学习算法的工程适用性分析前段时间AlphaGo跟李世石的大战及相关的深度学习的新闻刷了一遍又一遍的朋友圈。不过这件事情,也只是在机器学习的深度上进一步拓展,而机器学习的广度(也即工程化实践)上,仍然没有什么突破性的理论或实践,用的领域继续用,不用的领域依然不用。重要性机器学习的使命是使计算机强大的运算能力和存储能力转化为推演能力,能转化是一方面,转化的效率则是另一方面。科研性...
阅读(3972) 评论(0)

图像算法的工程优化技术

图像算法的工程优化技术当一个很酷的图像算法实现之后,我们希望集成到软件中去,这时将会遇到最大的拦路虎:性能。 可以想像一下,如果美图秀秀做一个美颜效果要转圈圈转个30秒,还会有多少人用呢。 学术界喜欢推出复杂度更低的算法,去解决性能问题,而在实际工程应用中,对代码的优化和硬件的良好运用效果来得更快更显著,这里就对不改动算法,纯工程方面做性能优化的技术作一个简介。 流程优化——节能减排对初始...
阅读(2230) 评论(0)

从软件工程的角度写机器学习2——流行的机器学习应用模式与算法

流行的机器学习应用模式与算法本文将围绕机器学习的概念,尽可能归纳总结当前流行的机器学习应用模式及相关算法。 “对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。” 机器学习的各类算法之间,重叠交叉又各自不同,既然是从软件工程的角度来写,我们会先介绍机器学习算法所依存的框架,再在这个框架下介绍有哪些算法,算法详情不做...
阅读(1012) 评论(0)

Renascence使用方法

Renascence使用方法下层库的适配类型下层库所有向Renascence架构提供的函数,其输入输出都必须给一个对应的继承于IStatusType的类,用于读取、保存、映射、释放该类型。/*Basic API*/ class IStatusType { public: IStatusType(const std::string name):mName(name){} virtual...
阅读(486) 评论(0)

Renascence架构原理——最优化算法

最优化算法背景通过公式生成ADF之后,根据下层函数库的配置,在结构不变的情形下,ADF是可以通过一系列值在0-1之间的参数进行调节的。也即ADF可表示为固定维数n的实数集,因此需要解决的问题就是在给定的目标下,求一组使目标值最大的参数。 max(f(x0,x1,x2,x3,...,xn)),xi∈[0,1]max(f(x_0, x_1, x_2, x_3, ..., x_n)), x_i\in [...
阅读(454) 评论(0)

Renascence架构原理——遗传规划算法

遗传规划算法遗传规划算法请先看一下遗传算法: http://blog.csdn.net/v_JULY_v/article/details/6132775遗传规划/遗传编程(Genetic Programming)是遗传算法的一个分支,与遗传算法中每个个体是一段染色体编码不同,它的个体是一个计算机程序。 维基上说它在70年代就已经有人实践,不过正式提出应该还是在John R. Koza教授于199...
阅读(1444) 评论(0)

从软件工程的角度写机器学习1——机器学习的思想

机器学习的思想序提到机器学习,圈内人首先想到的是神经网络、SVM、梯度下降、逻辑回归等具体的算法,而对圈外人而言,机器学习就等同于机器人、无人驾驶等具体的应用场景。 看了不少机器学习相关的文章,有描述知识点的:讲解算法非常详细,并且给出实现的程序demo。也有描述覆盖面的:泛泛而谈机器学习的典型应用场景,力图使大众易于理解。 但在一个软件工程中,机器学习如何应用,各算法如何衔接,怎么系统地去...
阅读(1094) 评论(2)

适用于OpenGL离屏渲染上下文的初始化代码

说明最近做图像算法,需要用到shader对图像进行处理,用glut会有窗口,不适合写成UT测试用例,需要创建一个无窗口的OpenGL上下文。代码这部分代码其实是参考 Android的Skia 模块相关代码写的,适用于 Mac、EGL(Android)、X11(Ubuntu等Linux系统)平台。h文件#ifndef GL_GLCONTEXT_H #define GL_GLCONTEXT_H clas...
阅读(1254) 评论(0)
46条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:100335次
    • 积分:1639
    • 等级:
    • 排名:千里之外
    • 原创:45篇
    • 转载:0篇
    • 译文:0篇
    • 评论:55条
    博客专栏
    最新评论