社区
CUDA高性能计算讨论
帖子详情
基于CUDA的BP神经网络
darkstorm2111203
2008-04-03 10:56:39
这两天用CUDA写了一个BP神经网络,主要用的CUBLAS,自己也写了几个KERNEL,效果不错,辨识率和CPU差不多,速度比MATLAB快了十倍
...全文
667
9
打赏
收藏
基于CUDA的BP神经网络
这两天用CUDA写了一个BP神经网络,主要用的CUBLAS,自己也写了几个KERNEL,效果不错,辨识率和CPU差不多,速度比MATLAB快了十倍
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
darkstorm2111203
2010-08-31
打赏
举报
回复
两年前的帖都挖出来了
wpfcpp
2010-08-23
打赏
举报
回复
MATLAB本来就慢,把M文件用C改写,在cpu上运行,立刻快几倍
zqj08
2010-06-30
打赏
举报
回复
分享成功经验还是?。。
IO_X
2008-09-27
打赏
举报
回复
和native C/C++比较一下就能说明问题了
iorikingdom
2008-06-29
打赏
举报
回复
楼主的gpu是那个型号?
matlab是mex还是脚本?如果是脚本的话解析运行,还是不能够说明问题的
kenan1014
2008-05-08
打赏
举报
回复
10倍是一个明显的进步~~~~
OpenHero
2008-04-14
打赏
举报
回复
不错的应用
darkstorm2111203
2008-04-04
打赏
举报
回复
这么说....gpu上和cpu上用一样的数据,一样的参数,一样的算法非常严格的编了一样的神经网络识别程序
然后用一模一样的数据进行了训练10000次,gpu用了1.7s,cpu跑对应matalab程序用了17s
需要说明的是,在一定范围内增加gpu处理的问题尺寸时间不会增加(blockdim.x是16,现在只用到3),实际gpu比cpu加速比要大于10
我还不会用cublas做matlab程序,所以直接写的runtime程序
最后做出来的cpu权向量和gpu权向量一点都不像...但是用cpu和gpu的结果分别对新的样本进行分类,结果差不多
其中一个算例:cpu正确识别率接近97%,gpu正确识别率96%出头。
个人感觉gpu做神经网络比较合适,用同样的样本迭代可以弥补精度不足的缺点。
比起之前进行的对矩阵进行反复迭代的某运算出来的结果要令人满意一些...
qiang125
2008-04-03
打赏
举报
回复
有点看不懂楼主说的什么?什么叫辨识率和CPU差不多?
论文研究-基于GPU的PSO-
BP神经网络
DOA估计.pdf
粒子群优化(PSO)算法与误差反向传播(BP)算法相结合训练神经网络(PSO-BP-NN),可以有效提高网络的泛化能力,但是面临的最大问题就是计算时间过长。为此,提出了基于图形处理单元(GPU)的并行加速解决方案,并基于该方法对波达方向(DOA)估计问题进行了建模。在算法执行过程中,利用粒子群神经网络(PSO-NN)粒子行为的可并行性和误差反向传播神经网络(BP-NN)样本训练的可并行性来减少神经网络(NN)的训练时间。在统一计算设备架构(
CUDA
)下对DOA估计进行了NN建模。数值计算结果表明,相对于CPU端串行PSO-BP-NN,GPU端并行PSO-BP-NN在收敛稳定性一致的前提下取得了65倍的计算加速比。
基于
BP神经网络
的自动驾驶模型车 包含收集数据、控制模型生成与在线/离线自动运行所需的程序
TensorRider是一种基于
BP神经网络
,对驾驶场景具有学习能力的的简易自动驾驶车模型。目前,TensorRider仅能实现基本的车道保持功能,即在学习了操作者的遥控驾驶行为后,根据经验对类似的场景做出自动驾驶行为。 TensorRider使用Google TensorFlow作为算法框架,可以在CPU或支持
CUDA
的NVIDIA GPU上进行训练。 完成训练后,可以使用一台计算机(Linux,macOS或Windows)作为TensorRider的计算服务器,令实验小车在线运行,也可以通过在TensorRider的Raspberry Pi上连接Intel Movidius Neural Compute Stick(NCS),实现离线运行。 硬件需求 TensorRider自动驾驶车模型,包括Raspberry Pi,摄像头,电机驱动电路等 运行Linux,Apple macOS 10.12+或Microsoft Windows 7+的计算机 带有模拟摇杆的游戏控制器(手柄) (非必需)兼容
CUDA
的NVIDIA GPU,Intel Movidius NCS 连接质量良好的无
Pytorch深度学习入门---系列1【前馈神经网络】
课程环境:win10,python3,pytorch 1.7.1 + torchvision 0.8.2,
cuda
10.0+cudnn7.6.5 (暂时不关注GPU处理的,也可暂时不安装
cuda
、cudnn) ;备注:环境不太熟的同学,可以参考课程【AI开发环境搭建】:https://edu.csdn.net/course/detail/35251问题:现在好多从事AI 深度学习的同学、以及刚入门深度学习的同学,不了解深度学习为什么会实现特征学习。why ???本课程利用【中文字识别】项目,用简单易懂的方式,让大家理解深度学习工作原理,并能够利用Pytorch实现多层神经网络设计,学会优化神经网络的一些方法。主要内容:1. 网络设计2. 数据加载、制作3. 模型训练4. 模型评估5. 模型优化6. 损失函数7. 优化器8. 模型加载9. 模型保存10. GPU加速11.LOSS曲线图生成
基于
BP神经网络
的自动驾驶模型车,包含收集数据、控制模型生成与在线离线自动运行源码+说明.zip
【资源说明】 1、基于
BP神经网络
的自动驾驶模型车,包含收集数据、控制模型生成与在线离线自动运行源码+说明.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于
BP神经网络
的自动驾驶模型车,包含收集数据、控制模型生成与在线离线自动运行源码+说明.zip # TensorRider 自动驾驶车 ![](pics/TensorRider.jpg) TensorRider是一种基于
BP神经网络
,对驾驶场景具有学习能力的的简易自动驾驶车模型。目前,TensorRider仅能实现基本的车道保持功能,即在学习了操作者的遥控驾驶行为后,根据经验对类似的场景做出自动驾驶行为。 TensorRider使用Google TensorFlow作为算法框架,可以在CPU或支持
CUDA
的NVIDIA GPU上进行训练。 完成训练后,可以使用一台计算机(Linux,macOS或Windows)作为TensorRider的计算服务器,令实验小车在线运行,也可以通过在TensorRider的Raspberry Pi上连接Intel Movidius Neural Compute Stick(NCS),实现离线运行。 # 硬件需求 * TensorRider自动驾驶车模型,包括Raspberry Pi,摄像头,电机驱动电路等 * 运行Linux,Apple macOS 10.12+或Microsoft Windows 7+的计算机 * 带有模拟摇杆的游戏控制器(手柄) * (非必需)兼容
CUDA
的NVIDIA GPU,Intel Movidius NCS * 连接质量良好的无线局域网 # 使用方法 TensorRider实现基于学习的自动驾驶分为3个阶段:收集数据,建立模型和自动运行。 ## 1.收集数据 在这一步骤中,车辆模型在人工指引下,边行驶边记录摄像头拍摄的图像,同时记录下拍摄图像时车辆模型的转向角度。当收集了足够多的图像-转向角度数据后,即可以这些数据为依据,训练神经网络。 我们假设你已经在计算机上安装好了```Python3```和```Jupyter Notebook```。首先在计算机端安装依赖的python软件包。 ``` pip3 install pygame ``` *注:我们假设你已掌握使用pip安装软件包的方法,以及在虚拟环境中安装软件包的方法。例如根据你使用的python环境的不同,你可能需要使用conda install或pip install。* 目录```Step_1_Data_Collection```内包含进行数据采集所需的程序。先使用SFTP或NFS等方式,将```copy_to_rpi```目录中的文件传输至实验小车端的Raspberry Pi上。在Raspberry Pi上连接一个使用FAT32文件系统的USB闪存盘,并启动Raspberry Pi。 使用SSH登录Raspberry Pi,建立USB闪存盘的挂载点 ``` sudo mkdir /mnt/pdisk ``` 然后运行 ``` sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/pdisk/ ``` 挂载USB闪存盘。 *你也可以选择将数据存储在Raspberry Pi的SD卡,甚至内存文件系统中。但是比起使用网络传输采集的大量文件,使用USB闪存盘拷贝是更加快速的方式。如果你希望变更文件的存储位置,可在```rpi.py```的第161--163行中更改。* 挂载完成后运行```rpi.py```。如果实验小车上安装了状态指示灯,在接收到控制数据之前,红色指示灯每3秒闪烁一次。接着,在计算机上,在```transmitter.py```的第9行写入小车的局域网IP地址,然后运行```transmitter.py```。你将看到终端持续打印出读取到的手柄数据。如果与实验小车的连接正常,小车上的指示灯将转为绿色闪烁。 向前轻推控制器的左侧手柄,实验小车开始加速行驶,向后拉左侧手柄可使小车减速。向左、右方向推动右侧手柄,可使实验小车转向。若需要急停,可同时按下```L2```+```R2```键,实验小车立即停车。 熟悉实验小车的操控方法后,可在适当的时机按下```START```键,实验小车开始收集行驶数据。再按一次```START```停止收集数据。 *数据收集建议至少持续30min。在收集数据时,需要使用较慢的恒定速度行驶,因为小车的转弯半径与速度相关。可以同时按下`
Omega-AI基于java打造的深度学习框架帮助你快速搭建神经网络实现模型推理与训练引擎支持自动求导多线程与GPU运算
Omega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持
CUDA
,CUDNN。Omega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现训练或测试模型,支持多线程运算,框架目前支持
BP神经网络
、卷积神经网络、vgg16、resnet、yolo等模型的构建,目前引擎最新版本支持
CUDA
和CUDNN两种GPU加速方式,关于GPU加速的环境配置与j
cuda
版本jar包的对应依赖。进行技术讨论和交流,别忘了给Omega-AI项目点个star,项目需要你们的支持。由于omega-engine-1.0.3加入了j
cuda
支持,所以1.0.3需要安装与j
cuda
版本对应的
cuda
,我在该项目中使用的是j
cuda
-11.2.0版本的包,那么我
cuda
需要安装11.2.x版本。由于训练vgg16模型的参数比较庞大,所以在部署项目的时候需要对jvm内存进行调整. 调整事例如:-Xmx20480m -Xms20480m -Xmn10240m。基于yolo算法目标识别基于yolov3口罩佩戴识别。
CUDA高性能计算讨论
353
社区成员
615
社区内容
发帖
与我相关
我的任务
CUDA高性能计算讨论
CUDA高性能计算讨论
复制链接
扫一扫
分享
社区描述
CUDA高性能计算讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章