[GPU] Machine Learning on C++
一、MPI为何物?
初步了解:MPI集群环境搭建
二、重新认识Spark
链接:https://www.zhihu.com/question/48743915/answer/115738668
马铁大神的phd thesis 总结里面说了一句话 大概意思是说 单纯的如果使用mpi 来实现一个算法 比spark 快五六倍是很正常的 但是spark 是一个 general 的 data flow 处理框架 就是可以在数据的生命周期里面 可以使用spark 之上的具体实现来处理数据 ml 只是一部分而已 这就是spark 最大的卖点之一
所以你用这个Prophet平台来和spark 比 ml这方面的效率当然你要快了的 因为还有很多ml 专业的平台都要比spark 快 这就不列举了
因为spark 基于 mapreduce的 这种program model 就不是适合ml的 特别是ml 里面大量参数的模型 比如lda 之类的
btw: 如果作为一个严格的论文来看的话 把spark 作为baseline 而不是做广泛的实验比较的话比如 各种平台算法 数据集 算法
三、Microsoft Distributed Machine Learning Toolkit (DMTK)
DMTK includes the following projects:
- DMTK framework(Multiverso): The parameter server framework for distributed machine learning.
- LightLDA: Scalable, fast and lightweight system for large-scale topic modeling.
- LightGBM: LightGBM is a fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
- Distributed word embedding: Distributed algorithm for word embedding implemented on multiverso.
四、GPU隆重登场
(1) OpenCV的OpenCL实现了下面的哪些算法?
class cv::ml::LogisticRegression
In a nutshell
Ref: How to use NVIDIA GPUs for Machine Learning with the new Data Science PC from Maingear
看样子大家才刚刚意识到这个事情,或者dnn就足够了。
Goto: [CUDA] Install H2O.ai,有部分GPU实现的算法。
- GLM: Lasso, Ridge Regression, Logistic Regression, Elastic Net Regulariation
- KMeans
- Gradient Boosting Machine (GBM) via XGBoost
- Singular Value Decomposition(SVD) + Truncated Singular Value Decomposition
- Principal Components Analysis(PCA)
Real time bench mark: https://www.youtube.com/watch?v=LrC3mBNG7WU,速度快二十倍。
五、ML in OpenCV
Classification with OpenCV3 C++ (1/2)
Classification with OpenCV3 C++ (2/2)
Code for my blog post: "Classification with OpenCV 3 C++"
/* implement */
[GPU] Machine Learning on C++的更多相关文章
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- [Machine Learning] 国外程序员整理的机器学习资源大全
本文汇编了一些机器学习领域的框架.库以及软件(按编程语言排序). 1. C++ 1.1 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- machine learning----->谷歌Cloud Machine Learning平台
1.谷歌Cloud Machine Learning平台简介: 机器学习的三要素是数据源.计算资源和模型.谷歌在这三个方面都有强大的支撑:谷歌不仅有种类丰富且数量庞大的数据资源,而且有强大的计算机群提 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- FAQ: Machine Learning: What and How
What: 就是将统计学算法作为理论,计算机作为工具,解决问题.statistic Algorithm. How: 如何成为菜鸟一枚? http://www.quora.com/How-can-a-b ...
- ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS
ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...
- 机器学习(Machine Learning)&深入学习(Deep Learning)资料
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林. ...
- SOME USEFUL MACHINE LEARNING LIBRARIES.
from: http://www.erogol.com/broad-view-machine-learning-libraries/ http://www.slideshare.net/Vincenz ...
随机推荐
- printf固定一行打印倒计时的实现
@2019-07-15 [小记] #include<stdlib.h> #include <stdio.h> #include <time.h> #include ...
- python totp代码
import time import datetime import math import hmac import base64 import qrcode from PIL import Imag ...
- zencart价格筛选插件
1.首先,新建文件includes\modules\sideboxes\price_range.php <?php function zen_count_products_in_price($p ...
- java线程基础巩固---如何捕获线程运行期间的异常
对于友盟统计我想搞程序的应该无人不晓,其中对于里面用得最多的功能就是对线上的崩溃进行修复,而这些异常都是运行期的,如: 其实也就是可以对线程中出现了这种运行期异常是提供有一种捕获机制对其进行统一处理, ...
- iotop命令详解
iotop是top和iostat程序的混合体,能够显示系统中所有运行进程并将进程根据I/O统计信息排序. 这个软件使用了Linux内核的一些新特性,所以需要2.6.20或者更新的内核. 一般默认情况下 ...
- 前端知识体系:JavaScript基础-变量和类型
前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...
- 配置魔药(DP)
配置魔药 [问题描述] 在<Harry Potter and the Chamber of Secrets>中,Ron的魔杖因为坐他老爸的Flying Car撞到了打人柳,不幸被打断了,从 ...
- 进程控制块(PCB)
进程控制块PCB 我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体. /usr/src/linux-headers- ...
- codeforces708C
CF708C Centroids 题意翻译 给定一颗树,你有一次将树改造的机会,改造的意思是删去一条边,再加入一条边,保证改造后还是一棵树. 请问有多少点可以通过改造,成为这颗树的中心?(如果以某个点 ...
- 学习Javascript的编程风格
Javascript编程风格 Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程 ...