2017-02-17 5 views
1

최근에 numpy에서 ND4J로 전환되었지만 ND4J에서 방송이 작동하는 방법을 이해하는 데 어려움이있었습니다.ND4J에서 브로드 캐스트 사용

두 개의 ndarray, 즉 모양 [3,2,4,5] 및 모양 [2,4,5]의 b가 있다고 가정 해 봅시다. 나는 요소를 추가하여 각각을 a[i] for i = 0 to 2에 브로드 캐스트하고 싶습니다. numpy에서는 단순히 a + b을 통해 수행 할 수 있지만 ND4J에서는 a.add(b)을 예외로합니다. 나는 a.add(b.broadcast(3))을 시도했지만 여전히 운이 없다.

ND4J에서 올바른 방법은 무엇입니까?

답변

0

내가 지금까지 발견하는 유일한 방법은 다음과 같습니다

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) 

친절이

을 할 수있는 더 좋은 방법이 있으면 알려 주시기 바랍니다