并行编程
文章平均质量分 76
井底之蛙-hzq
喜欢 机器学习,模式识别。
求成长,多多交流学习。
展开
-
神经网络模型C++在CPU上前向过程加速
有些相对神经网络模型训练之后需要集成到线上作为线上服务的一部分。如果网络结构比较简单,通常会把网络中的权重解析出来,并用C++实现模型的前向过程(inference)。由于要成为线上服务,计算约耗时越多,就意味着要更多更好的机器资源,要花出去的真金白银也就越多,所以通常inference过程对效率的要求会很高,这就需要对前向过程进行严苛的优化。 一般我们会在程序的各个计算模...原创 2019-11-23 02:55:18 · 946 阅读 · 0 评论 -
基于gpu与cuda c的神经网络实现
本神经网络为3层结构,一个输入层(N0N个神经元)+一个隐层(N1N个神经元)+一个输出层(N2N个神经元)cuda加速为神经网络的3大主要计算部分 神经元输入计算,神经元错误计算,神经权重调整#include#include #include#includeusing namespace std;#define N0N 3#define N1N 2#def原创 2013-05-03 08:39:37 · 2584 阅读 · 1 评论 -
mfc一个多线程实例
在卷积神经网络的训练中,因为多个卷积核做卷积的时候互不干扰,可以并行。直观的方法是采用多线程做卷积,每个线程负责一个featureMap的卷积计算。在本人的程序中,多线程训练比单线程训练大约要快3倍。工程名Dlg.cpp (CCNN2Dlg.cpp)文件中,写好线程函数,第几个featureMap做卷积通过参数LPVOID lpPara指定。DWORD WINAP原创 2014-08-29 14:22:24 · 1138 阅读 · 0 评论