2016-10-06 2 views
3

토치에서 신경 네트워크의 내부 뉴런에 액세스하는 간단한 방법은 무엇입니까?토치의 내부 뉴런에 액세스 신경 네트워크

저는 nn torch7 라이브러리를 사용하여 다층 신경망을 훈련 시켰습니다. 일부 입력이 네트워크로 전달되거나 출력을 수동으로 변경할 때 일부 특정 내부 뉴런의 출력 값이 무엇인지보고 싶습니다.

가능합니까? 그렇다면 이미 훈련되고 저장된 네트워크를위한 간단한 솔루션입니까? 그 이유는 내 신경 네트워크가 자동 코드화 기이므로 중간에있는 뉴런이 중요합니다. 전체 네트워크의 출력 종류입니다.

답변

2

당신의 신경 네트워크가 nnet라고하며 관심 층 middle_module 경우, 다음을 수행하십시오

middle_module = nn.Linear(...) 
nnet = nn.Sequential(...) 
nnet:forward(your_data) 
local hidden_output = middle_module.output 

윈 모듈의 output 인스턴스 변수는 항상 저장됩니다. 이것은 backpropagation의 구현 세부 사항 때문입니다.

편집 : 이미 저장 한 모델에 대해 묻고 있다는 것을 알고 있습니다. 관심있는 모듈의 색인을 알고있는 경우 nn.Sequential.get을 사용할 수 있습니다.