2017-12-28 23 views
0

같은 네트워크에서 여러 이미지 세트 (예 : 56x56x3, 56x56x5, 56x56x10, 56x56x30, 56x56x61)가 있습니다.
1) 네트워크의 매개 변수 수가 각 입력에 대해 동일하다는 것을 알고 싶습니까?
2) 각 에포크의 계산 시간은 입력시 채널 수를 늘림으로써 약간 높습니다. 정상입니까? 위한에포크의 매개 변수와 계산 시간은 입력 이미지의 증가하는 채널에 따라 증가합니까?

컨벌루션을 수행하기위한 UPDATE

Parameter calculation for 3 channels 
3*3*3*64 = 1728 
3*3*64*128 = 73728 
3*3*128*256 = 294912 
5*5*256*512 = 3276800 
1*1*512*1024 = 524288 
1*1*1024*4 = 4096 

Parameter calculation for 10 channels 
3*3*10*64 = 5760 
3*3*64*128 = 73728 
3*3*128*256 = 294912 
5*5*256*512 = 3276800 
1*1*512*1024 = 524288 
1*1*1024*4 = 4096 

enter image description here

답변

1

이 어떤 커널 (혹은 필터) 입력 기능 맵 (또는 이미지)와 같은 채널의 개수가 동일한 것이 필요하다, 해당 레이어.

No of Kernels x Kernel Height x Kernel Width x No of Channels in the Kernel 

그래서 당신이 매개 변수의 수는 실제로 입력 기능 맵에서 채널의 수에 비례 것을 볼로 : 그리고 그 계층에 대한 매개 변수의 수는 주어진다. 그리고 매개 변수의 수가 증가하면 계산의 수가 증가하므로 계산 시간이 증가한다는 것이 분명합니다.

내 게시물 here에서 컨볼 루션 작업에 대한 자세한 설명을 볼 수 있습니다.

+0

어떻게 각 입력에 대한 계산 시간을 계산할 수 있습니까? –

+0

약간 복잡합니다. 각 입력에 관련된 계산의 수와 유형을 찾아야합니다. 그런 다음 각 계산에 대해 사용 된 CPU/GPU주기 수를 찾습니다. 그런 다음 메모리, CPU 및 GPU 전반에 걸쳐 데이터 읽기, 쓰기 및 전송을위한 오버 헤드가 있습니다. 일단 모든 것을 알아 내면 CPU/GPU의 클럭 주파수를 연결하여 시간을 초 단위로 가져옵니다. 이 모든 후에도 근사값 만 얻을 것입니다. –

+0

그렇다면 매개 변수 계산 증가를 보여줌으로써 계산이 증가한다는 것을 보여주는 것은 괜찮습니까? –