Dl4j使用Spark分布式训练指定CPU后端训练
Dl4j使用Spark分布式训练指定CPU后端训练
问题描述
1、打包dl4j应用程序,使用spark-submit
在spark集群上分布式运行;
示例提交命令:
spark-submit --class cn.nd4jonSpark.Nd4jTest --master spark://storm6:7077
--deploy-mode client
--driver-memory 4g
--executor-memory 2g hdfs://ns1/spark_lib/Nd4jTestOnMllib-0.0.1-SNAPSHOT.jar > ../logs/err.log
2、Spark分布式集群上均无英伟达显卡,并且没有安装cuda;
3、dl4j应用打包中的pom文件,已经指定backend为nd4j-native-platform
但是在运行Spark分布式运行的时候,回去默认寻找cuda后端,尝试使用显卡进行分布式训练,导致报错:
WARN scheduler.TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, 10.100.2.10 , executor 8): java.lang.NoClassDefFoundError: Could not initialize class org.nd4j.linalg.factory.Nd4jat org.nd4j.Nd4jRegistrator.registerClasses(Nd4jRegistrator.java:20)at org.apache.spark.serializer.KryoSerializer$$anonfun$newKryo$6.apply(KryoSerializer.scala:135)....Caused by: java.lang.RuntimeException: No CUDA devices were found in system
解决方案
在官方文档 https://deeplearning4j.org/cn/gpu 中提到两个属性
这两个属性会决定dl4j应用程序使用什么样的后端进行模型的训练。
编辑 /spark/conf/spark_env.sh
文件,修改其中的环境变量(使用ssh将该文件传输到每一个worker机器上,更改其文件配置):
export BACKEND_PRIORITY_CPU=110
export BACKEND_PRIORITY_GPU=0
让BACKEND_PRIORITY_CPU
的值大于BACKEND_PRIORITY_GPU
,就可以指定分布式集群中的每一个worker节点都是用CPU后端进行训练。
由群友 @赵彦辉-大连 发现并提供解决方案
更多文档可以查看 https://github.com/sjsdfg/deeplearning4j-issues。
欢迎star
Dl4j使用Spark分布式训练指定CPU后端训练相关推荐
- 第14课:Spark 分布式模型训练及调优(实战)
上节课已经为大家介绍了 Apache Spark 项目的基本情况,以及分布式深度神经网络的解决方案.这节课我们将给出一个 Deeplearning4j+Spark 的建模实例,包括从配置 Maven ...
- 神经网络训练电脑配置,cpu可以训练神经网络吗
神经网络参数如何确定 神经网络各个网络参数设定原则:①.网络节点 网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数.隐层节点选按经验选取,一般设为输入层节点数 ...
- TensorFlow指定CPU和GPU方法
TensorFlow指定CPU和GPU方法 TensorFlow 支持 CPU 和 GPU.它也支持分布式计算.可以在一个或多个计算机系统的多个设备上使用 TensorFlow. TensorFlow ...
- python电脑配置要求cpu-python指定cpu使用率,与内存占用率
"""runing.py -c 2 -t 0.01 -m 1000 -c cpu核数,不加-c参数为最大核数 -t cpu运算频率时间,间隔,越小占用越高 -m 内存占用 ...
- Spark 分布式调试工具
0. 说明 编写工具类,考察 Spark 分布式程序的执行地点 1. 工具类编写 [ JMX ] Java Management Extend , Java 管理扩展服务. 主要用于运维和监控. [测 ...
- ML之catboost:基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两种方式)
ML之catboost:基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两种方式) 目录 基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两 ...
- python调用gpu进行运算_tensorflow指定CPU与GPU运算的方法实现
1.指定GPU运算 如果安装的是GPU版本,在运行的过程中TensorFlow能够自动检测.如果检测到GPU,TensorFlow会尽可能的利用找到的第一个GPU来执行操作. 如果机器上有超过一个可用 ...
- linux 下进程和线程指定CPU运行
大概的介绍一下linux 的指定CPU运行,包括进程和线程,这个只是最基本的方法,看一下基本就会了,至于其他的进程间通信和线程同步的话,这里暂不做任何介绍. 算了,还是比较整体的介绍一下如何去学习这个 ...
- cpu 指定cpu执行 java_java程序可以实现在指定CPU上运行吗?
java程序可以指定CPU运行吗?这是我以前遇到的一个面试问题,这两天又想起来了.一般我们都知道C.C++是可以实现程序指定CPU运行的,那么java到底可不可以呢?网上一部分人说可以,一部分人说不可 ...
最新文章
- vue 子级拿值_vue 父组件通过$refs获取子组件的值和方法详解
- Django 页面报错 Maximum recursion depth exceeded
- linux c代码出现段错误,Linux下段错误(C语言)
- 为什么企业宁愿花 15K 重新招人,也不愿意花 10K 留住老测试员?
- 第一次scrum冲刺!
- [论文阅读] (16)Powershell恶意代码检测论文总结及抽象语法树(AST)提取
- 联想计算机电源风扇怎样清理,电脑怎么清灰加硅脂 联想笔记本清灰换硅脂图文教程...
- 舌苔厚舌中间有裂缝,舌苔厚白,中间有裂缝主要是什么原因??
- 统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现
- 【C语言】'\0'、'0'、' '、“0”、0详解
- VM虚拟机 .vmdk文件,拆分多个文件,合并单个文件
- 表示微型计算机系统稳定性,计算机选择题
- [概率DP]相逢是温厚
- ksy是谁_丽水KSY-B-400/100防雷模块是谁家的
- 若A、B都是n阶正交阵,那么,A X B是正交阵吗?
- 程序员专属红包封面来了,一共四款
- 计算机可以谭音乐吗,谭真家乡类歌曲中的音乐意境分析
- 10-135 5-1 查询销售便携式电脑但不销售PC的厂商
- 『phphot』【SD2.0大会】刘振飞:微软Office研发成功三大法宝
- 计算机专业竞聘词150,计算机专业组长竞聘演讲稿范文