【问题标题】:ND4J: Generate random number within rangeND4J:生成范围内的随机数
【发布时间】:2020-04-30 09:25:20
【问题描述】:

如果我们想创建一个给定INDArray,在0 and 1之间填充随机数,我们可以使用:

Nd4j.rand(row, cols);

但是如果我们希望给定INDArray-5000 and 5000之间填充随机数怎么办? 此外,如果每一列 / vector 都有从特定范围内选择的随机数怎么办? 例如:

row = 2; columns = 3
pool = { {-500, 500}, {100, 100}, {1, 10} }
INDArray = [ [randRange(-500,500), randRange(100,100), randRange(1,10)],
             [randRange(-500,500), randRange(100,100), randRange(1,10)] ]

如何利用 Nd4j 的效率来实现这一点?

【问题讨论】:

    标签: dl4j nd4j


    【解决方案1】:

    使用其他签名。

    即这个:

    Nd4j.rand(long[] shape, double min, double max, org.nd4j.linalg.api.rng.Random rng);

    或者这个:

    Nd4j.rand(INDArray target, double min, double max, org.nd4j.linalg.api.rng.Random rng);

    【讨论】:

    • 完美!但是如果 INDArray 的每个元素都必须从不同的随机范围生成呢? (我问题的最后一部分)
    • 没有“开箱即用”的方法可以做到这一点,但您显然可以自己掌握它,即单独对每个元素应用一定的比例。
    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 2011-03-01
    • 2016-05-04
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多