2017-11-21 30 views

답변

0

그런데 언급 한 의사가 this link이어야한다고 생각합니다.

이의 당신이 1 (첫번째) 희미한, 당신이 만드는 있도록 패딩 모듈 다음과 같은 말에서 3 기본 제로 패딩을한다고 가정하자

require 'nn'; 
dim = 1 
pad = 3 
module = nn.Padding(dim, pad) 
given_tensor = torch.ones(4, 2) 
print(given_tensor) 
res_tensor = module:forward(given_tensor) 
print(res_tensor) 

당신은 토치 인터프리터이 줄을 실행하면, 아래와 같은 결과를 얻게되면, 4x2 텐서를 7x2 텐서로 변환 할 때 1 (첫 번째)에 3 개의 패딩을 성공적으로 추가합니다. 당신이 nInputDim 다음과 같이 1로 지정하면

1 1 
1 1 
1 1 
1 1 
[torch.DoubleTensor of size 4x2] 

1 1 
1 1 
1 1 
1 1 
0 0 
0 0 
0 0 
[torch.DoubleTensor of size 7x2] 

은 어떻게됩니까?

require 'nn'; 
dim = 1 
pad = 3 
nInputDim = 1 
module = nn.Padding(dim, pad, nInputDim) 
given_tensor = torch.ones(4, 2) 
print(given_tensor) 
res_tensor = module:forward(given_tensor) 
print(res_tensor) 

당신이 그들을 실행하는 경우, 당신은 당신이 일을 할 nInputDim 원하는

1 1 
1 1 
1 1 
1 1 
[torch.DoubleTensor of size 4x2] 


1 1 0 0 0 
1 1 0 0 0 
1 1 0 0 0 
1 1 0 0 0 
[torch.DoubleTensor of size 4x5] 

아래와 같은 결과를 얻을 것이다, 그러나 당신의 입력 희미한 그것은 배치로, 첫 번째 차원, 4를 취할 것입니다, 2 크기 및 배치의 모든 항목에 3 패딩을 만들면 4 개의 크기가 2 개의 텐서가되고 4 개의 크기가 5 개의 텐서가됩니다. 마치 3 패딩을 텐서 4x2의 희미한 (dim = dim + 1, second) 희미하게 만드는 것처럼 작동합니다. 그러면 동일한 결과 인 4x5가 출력됩니다.