4

単一ノードのローカル Spark クラスターで私が行っていることは次のとおりです。

git clone https://github.com/deeplearning4j/dl4j-spark-cdh5-examples.git
cd dl4j-spark-cdh5-examples.git
mvn package
export SPARK_WORKER_MEMORY=13g
spark-submit --class org.deeplearning4j.examples.cnn.MnistExample ./target/dl4j-spark-cdh5-examples-1.0-SNAPSHOT.jar

そして、ここに私が得ているものがあります:

Caused by: java.lang.OutOfMemoryError: Java heap space

完全なスタック トレースは次のとおりです。

spark-submit --class org.deeplearning4j.examples.cnn.MnistExample ./target/dl4j-spark-cdh5-examples-1.0-SNAPSHOT.jar 21:21:13,414 INFO ~ データを読み込み中....

警告: ネイティブ システム BLAS をロードできませんでした ND4J のパフォーマンスが低下します OpenBLAS や IntelMKL などのネイティブ BLAS ライブラリをインストールしてください 詳細については、http://nd4j.org/getstarted.html#open を参照てください

21:21:20,571 情報 ~ モデルの構築.... 21:21:20,776 警告 ~ 目的関数は自動的に最小化に設定されます。デフォルト設定を変更するには、ニューラル ネット構成で stepFunction を設定します。21:21:20,886 INFO ~ --- ネットワーク訓練開始 --- [ステージ 0:> (0 + 6) / 6]

ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74) at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1204) 21:24:12,383 エラー ~ タスク 5 でステージ 0.0 は 1 回失敗しました。ジョブの中止スレッド「メイン」org.apache.spark.SparkException: ステージの失敗によりジョブが中止されました: ステージ 0.0 のタスク 5 が 1 回失敗しました。最近の失敗: ステージ 0.0 のタスク 5.0 が失われました (TID 5、localhost): Java .lang.OutOfMemoryError: java.lang.reflect.Array.newInstance(Array.java:70) の Java ヒープ領域 (java.io.ObjectInputStream.readArray(ObjectInputStream.java:1670) の java.io.ObjectInputStream.readObject0(ObjectInputStream)) .java:1344) で java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) で java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:

ドライバーのスタックトレース: org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1431) で org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1 で。 apply(DAGScheduler.scala:1419) at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1418) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala: 59) org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1418) で scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) で org.apache.spark.scheduler.DAGScheduler$$ でanonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799) org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799) scala.Option.foreach(Option.scala:236) org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed (DAGScheduler.scala:799) で org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive (DAGScheduler.scala:1640) で org.apache.spark.scheduler.DAGSchedulerEventProcessLoop .onReceive(DAGScheduler.scala:1599) org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1588) org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48) ) org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:620) で org.apache.spark.SparkContext.runJob(SparkContext.scala:1832) で org.apache.spark.SparkContext.runJob(SparkContext. scala:1845) で org.apache.spark.SparkContext.runJob(SparkContext.scala:1858) で org.apache.spark.SparkContext.runJob(SparkContext.scala:1929) で org.apache.spark.rdd.RDD.count (RDD.scala:1157) org.apache.spark.api.java.JavaRDDLike$class.count(JavaRDDLike.scala:440) で org.apache.spark.api.java.AbstractJavaRDDLike.count(JavaRDDLike.scala:46) で org.deeplearning4j .spark.impl.multilayer.SparkDl4jMultiLayer.fitDataSet(SparkDl4jMultiLayer.java:239) at org.deeplearning4j.examples.cnn.MnistExample.main(MnistExample.java:132) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun org.apache. spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) at org. apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)原因: java.lang.OutOfMemoryError: java.io.ObjectInputStream.readArray(ObjectInputStream.java:1670) の java.lang.reflect.Array.newInstance(Array.java:70) の Java ヒープ領域 java.io.ObjectInputStream org.nd4j.linalg.api.buffer. BaseDataBuffer.doReadObject(BaseDataBuffer.java:880) の org.nd4j.linalg.api.buffer.BaseDataBuffer.readObject(BaseDataBuffer.java:868) の sun.reflect.GeneratedMethodAccessor7.invoke(不明なソース) の sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) の java.lang.reflect.Method.invoke(Method.java:606) の java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) の java.io.ObjectInputStream.readSerialData (ObjectInputStream.java:1893) で java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) で java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) で java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: 1990) で java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) で java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) で java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) で java. java.io.ObjectInputStream の io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)。readSerialData(ObjectInputStream.java:1915) で java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) で java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) で java.io.ObjectInputStream.readArray(ObjectInputStream.java) :1706) java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344) で java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) で java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) で.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) で java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) で java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) で java.io.ObjectInputStream. org.apache.spark.rdd の defaultReadObject(ObjectInputStream.java:500)。ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74) at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1204) 21:24:12,769 エラー ~ タスクの例外ステージ 0.0 (TID 4) の 4.0 org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:204) での org.apache.spark.TaskKilledException :1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744) 21:30:18,649 エラー ~ スレッドでキャッチされていない例外 Thread- 3 org.apache.spark.SparkException: org.apache.spark.rpc.RpcEndpointRef の org.apache.spark.rpc.RpcEndpointRef.askWithRetry(RpcEndpointRef.scala:118) でメッセージ [メッセージ = StopBlockManagerMaster] を送信中にエラーが発生しました。org.apache.spark.storage.BlockManagerMaster.tell(BlockManagerMaster.scala:225) で askWithRetry(RpcEndpointRef.scala:77) org.apache.spark.storage.BlockManagerMaster.stop(BlockManagerMaster.scala:217) で org.apache .spark.SparkEnv.stop(SparkEnv.scala:97) at org.apache.spark.SparkContext$$anonfun$stop$12.apply$mcV$sp(SparkContext.scala:1756) at org.apache.spark.util.Utils $.tryLogNonFatalError(Utils.scala:1229) at org.apache.spark.SparkContext.stop(SparkContext.scala:1755) at org.apache.spark.SparkContext$$anonfun$3.apply$mcV$sp(SparkContext.scala: 596) org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:267) で org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply$ でorg.apache.spark.util の mcV$sp(ShutdownHookManager.scala:239)。SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply(ShutdownHookManager.scala:239) org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$ sp$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1765) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$ mcV$sp(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll $1.apply(ShutdownHookManager.scala:239)org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$mcV$sp(ShutdownHookManager.scala:239) で org.apache で apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1765) .spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239) org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239)org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$mcV$sp(ShutdownHookManager.scala:239) で org.apache で apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1765) .spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239) org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239)

何か案は?

4

1 に答える 1