OpenPPL

高性能深度学习推理平台
授权协议 Apache
开发语言 C/C++
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 国产
投 递 者 鲜于海
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

OpenPPL 是基于自研高性能算子库的推理引擎,拥有极致调优的性能;提供云原生环境下 的 AI 模型多后端部署能力,支持 OpenMMLab 等深度学习模型的高效部署。

架构如下:

高性能

设计微架构友好的任务/数据/指令等多级并行策略,自研 NV GPU、 x86 CPU 计算库,满足部署场景对神经网络推理、常用图像处理的性能需求

  • 支持 GPU T4 平台 FP16 推理
  • 支持 CPU x86 平台 FP32 推理
  • 核心算子优化,平均性能领先业界

OpenMMLab 部署

支持 OpenMMLab 检测、分类、分割、超分等系列前沿模型,同时提供模型前后处理所需图像处理算子

  • 遵循 ONNX 开放标准,提供 ONNX 转换支持
  • 支持网络动态特性
  • 提供 MMCV 算子高性能实现

云上多后端部署

面向云端异构推理场景,支持多平台部署

  • 支持 x86 FMA & AVX512、NV Turing 架构
  • 支持异构设备并行推理
 相关资料
  • 问题列表 《深度学习》 8.4 参数初始化策略 一般总是使用服从(截断)高斯或均匀分布的随机值,具体是高斯还是均匀分布影响不大,但是也没有详细的研究。 但是,初始值的大小会对优化结果和网络的泛化能力产生较大的影响。 一些启发式初始化策略通常是根据输入与输出的单元数来决定初始权重的大小,比如 Glorot and Bengio (2010) 中建议建议使用的标准初始化,其中 m 为输入数,n 为输出

  • 主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推

  • Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code

  • 本来想着国庆后再投,怕国庆过不好,国庆前就投了,很多东西没复习。面了几家最后接百度了,谢谢百度收留我。 cpp基础部分 1.static 2.const 3.cpp内存结构 4.谈谈那几个智能指针 5.那四个强制转换 6.看.so动态库里的啥东西,这个不会,连题意都没记全,太菜了。 7.析构函数能不能传参,能不能有返回值 8.cpp的多态,运行时多态那问的具体怎么实现,我就说了说虚函数表那些,感觉

  • 全程拷打项目(因为项目是和tf与机器学习相关的) 手写conv2D的计算函数(因为项目里有个conv3D相关的tf算子,但是没有写出来) 手写nms算法(写得很慢,之前又因为也是做项目,没有仔细研究源码) 之前使用opencl比较多,cuda使用得比较少,而且机器学习相关的算法也不是很精通,第二天就挂了

  • 现在开始学深度学习。在这部分讲义中,我们要简单介绍神经网络,讨论一下向量化以及利用反向传播(backpropagation)来训练神经网络。 1 神经网络(Neural Networks) 我们将慢慢的从一个小问题开始一步一步的构建一个神经网络。回忆一下本课程最开始的时就见到的那个房价预测问题:给定房屋的面积,我们要预测其价格。 在之前的章节中,我们学到的方法是在数据图像中拟合一条直线。现在咱们不

  • 深度学习的总体来讲分三层,输入层,隐藏层和输出层。如下图: 但是中间的隐藏层可以是多层,所以叫深度神经网络,中间的隐藏层可以有多种形式,就构成了各种不同的神经网络模型。这部分主要介绍各种常见的神经网络层。在熟悉这些常见的层后,一个神经网络其实就是各种不同层的组合。后边介绍主要基于keras的文档进行组织介绍。

  • Python 是一种通用的高级编程语言,广泛用于数据科学和生成深度学习算法。这个简短的教程介绍了 Python 及其库,如 Numpy,Scipy,Pandas,Matplotlib,像 Theano,TensorFlow,Keras 这样的框架。