Numpy 在ND4J中使用广播

Numpy 在ND4J中使用广播,numpy,multidimensional-array,nd4j,Numpy,Multidimensional Array,Nd4j,我最近从numpy转到了ND4J,但很难理解ND4J中的广播是如何工作的 假设我有两个数组,a的形状是[3,2,4,5],b的形状是[2,4,5]。我想按元素将它们相加,并将b广播到I=0到2的每个a[I]。在numpy中,它可以通过a+b简单地完成,而在ND4Ja.add(b)中抛出异常。我试过a.add(b.broadcast(3))但还是没有成功 在ND4J中这样做的正确方法是什么 到目前为止,我找到的唯一方法如下 var a = Nd4j.createUninitialized(Arra

我最近从numpy转到了ND4J,但很难理解ND4J中的广播是如何工作的

假设我有两个数组,a的形状是[3,2,4,5],b的形状是[2,4,5]。我想按元素将它们相加,并将b广播到I=0到2的每个
a[I]。在numpy中,它可以通过
a+b
简单地完成,而在ND4J
a.add(b)
中抛出异常。我试过
a.add(b.broadcast(3))
但还是没有成功


在ND4J中这样做的正确方法是什么

到目前为止,我找到的唯一方法如下

var a = Nd4j.createUninitialized(Array(3,2,4,4))
var b = Nd4j.createUninitialized(Array(2,4,4))
b = b.reshape(1,32)
b = b.broadcast(3,32)
b = b.reshape(3, 2, 4, 4)
a.add(b)
如果有更好的方法,请告诉我