>

완전히 연결된 계층 ( nn.Linear ) )는 "추가 치수"에 적용된 pytorch에서? 문서 는 텐서 (N,*,in_features) 를 연결하는 데 적용될 수 있다고 말합니다.   (N,*,out_features) 로 여기서 N  배치의 예제 수에 따라 관련이 없으며 *  "추가"치수입니다. 추가 차원에서 가능한 모든 슬라이스를 사용하여 단일 레이어를 학습했거나 각 슬라이스에 대해 별도의 레이어를 훈련했거나 아직 다른 것을 의미합니까?


  • 답변 # 1

    와이즈 비즈가있다   in_features * out_features 에서 배운 매개 변수  그리고 linear.weight   out_features 에서 배운 매개 변수 . 당신은 linear.bias 를 생각할 수 있습니다  일하는 중

    <올> 텐서를 일부 nn.Linear 로 재구성하십시오. 여기서 (N', in_features)   N' 의 제품입니다   N 로 설명 된 모든 치수 : *

    표준 행렬-행렬 곱셈 input_2d = input.reshape(-1, in_features) 적용 .

    편향 output_2d = linear.weight @ input_2d 추가  (우리는 모든 output_2d += linear.bias.reshape(1, in_features) 에 걸쳐 방송 통지  측정 기준)

    N' 와 크기가 같도록 출력을 재구성하십시오. , 마지막 것을 제외하고 : input

    output = output_2d.reshape(*input.shape[:-1], out_features)

    따라서 최고의 치수 return output   N 와 동일하게 취급됩니다  치수. 문서는 * 를 만듭니다  입력 값이최소2d 여야하지만 원하는만큼 많은 차원이 될 수 있음을 명시해야합니다. N

  • 이전 Jenkins에서 실행되는 docker 이미지 내의 권한 오류
  • 다음 python - dict의 KeyError이지만 Key가 존재합니다