【问题标题】:A3C ArrayOutOfBoundsA3C ArrayOutOfBounds
【发布时间】:2021-02-18 11:32:57
【问题描述】:

每当我调用 A3CDiscreteDense().train() 时出错;

Exception in thread "Thread-7" java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.elementData(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at org.deeplearning4j.rl4j.learning.async.a3c.discrete.AdvantageActorCriticUpdateAlgorithm.computeGradients(AdvantageActorCriticUpdateAlgorithm.java:63)
    at org.deeplearning4j.rl4j.learning.async.a3c.discrete.AdvantageActorCriticUpdateAlgorithm.computeGradients(AdvantageActorCriticUpdateAlgorithm.java:32)
    at org.deeplearning4j.rl4j.learning.async.AsyncThreadDiscrete.trainSubEpoch(AsyncThreadDiscrete.java:130)
    at org.deeplearning4j.rl4j.learning.async.AsyncThread.handleTraining(AsyncThread.java:192)
    at org.deeplearning4j.rl4j.learning.async.AsyncThread.run(AsyncThread.java:168)

但是当我使用 DQN 时,相同的代码也可以正常工作。

【问题讨论】:

    标签: java deeplearning4j dl4j


    【解决方案1】:

    我遇到了同样的问题。似乎默认的学习配置不起作用,因为nStep 的值不应该为 0。从构建器创建学习配置时只需调用 .nStep(5)。你可以在这里找到更多信息:https://github.com/eclipse/deeplearning4j-examples/issues/991#issuecomment-823133909

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      相关资源
      最近更新 更多