2017-03-07 9 views
0

가속에서 Apple BNNS (기본 신경망 서브 루틴) 라이브러리를 사용하여 1x1 회선을 수행하려고합니다.기본 신경망 서브 루틴 (BNN) 가속 사용

9x1 열 벡터에서 실행할 때 예기치 않은 결과가 발생합니다. https://gist.github.com/cancan101/5887cb93cc91a2d10e2bfd23284bb438 (A modification of BNNS sample code.)

예상 결과 : 인쇄 번호 0-8를

샘플 코드에 게시.

실제 결과 :

o0: 0.000000 
o1: 0.000000 
o2: 0.000000 
o3: 3.000000 
o4: 0.000000 
o5: 5.000000 
o6: 0.000000 
o7: 7.000000 
o8: 0.000000 

나는이 권리를하고있는 중이 야 의심하지만, 링크 된 코드에 대한 피드백 오픈입니다. 당신이 벡터를 행하기 위해 트랜스 경우

답변

0

,이에서 예상되는 출력

를 볼 것 : 이것에

i_desc.width = 1; 
i_desc.height = 9; 
i_desc.row_stride = 1; 

:

o_desc.width = 9; 
o_desc.height = 1; 
o_desc.row_stride = 9; 
: 출력

i_desc.width = 9; 
i_desc.height = 1; 
i_desc.row_stride = 9; 

동일

검색 결과 :

Input image stack: 9 x 1 x 1 
Output image stack: 9 x 1 x 1 
Convolution kernel: 1 x 1 
o0: 0.000000 
o1: 1.000000 
o2: 2.000000 
o3: 3.000000 
o4: 4.000000 
o5: 5.000000 
o6: 6.000000 
o7: 7.000000 
o8: 8.000000 
+0

맞아요, 그게 효과가있는 것을 보았습니다. 그러나 나는 잘못된 것을하고 있습니까? 또는 내가해야 할 일 –

+0

나는 당신이 무엇을 묻고 있는지 이해하지 못한다. 컨볼 루션은 행렬 연산이므로 입력을 조 변경하면 결과가 동일하게 유지 될 것으로 기대할 수 없습니다. – paiv

+0

행 벡터에 1x1 컨볼 루션 (가중치 1) 일치하는 행 벡터와 1x1 컨볼 루션을 생성해야 일치하는 열 벡터를 생성해야합니다. –