연결된 모델 또는 계단식 모델을 실제로 만들지 않으려 고합니다. 실제로 이것이 정확한 정의인지는 모르겠다. 간단히하기 위해 내 기본 모델은 아래와 같습니다.다수의 사전 훈련 된 케라 모델 연결 또는 케라케이드
----Input----
|
L1-1
|
L1-2
|
Dense
|
Softmax
나는 교차 검증과 훈련이 모델의 7을 얻었다과 같은 캐스케이드 방식으로이를 마무리하려고 : 그래서 결국 조밀 한 레이어의
-----------------------Input---------------------
| | | | | | |
L1-1 L1-2 L1-3 L1-4 L1-5 L1-6 L1-7
| | | | | | |
L2-1 L2-2 L2-3 L2-4 L2-5 L2-6 L2-7
| | | | | | |
|_______|_______|_______|_______|_______|_______|
| Concatenated |
|___________________Dense Layer_________________|
|
SoftMax
각 하나가 512
뉴런을 가지고 Concatenated Dense Layer는 총 7*512=3584
개의 뉴런을가집니다. 내가 무슨 짓을했는지
은 다음과 같습니다
- 모든 모델을 훈련하고
models[]
로라는 이름의 목록에 저장. - 모든 모델에서 최하부 Softmax 레이어를 팝했습니다.
그럼 내가 그들을 연결하는 시도하지만 오류가있어 :
Layer merge was called with an input that isn't a symbolic tensor.
가 난 어떤 거 Concatenated Dense Layer
를 제외한 모든 중간 레이어를 동결하고 약간 그것을 조정하는 폭포를 형성 한 후 수행하십시오. 그러나 나는 모든 세부 사항에서 설명한대로 붙어 있습니다.
'outputTensors의 =은' 친애하는 각하, 우리가 바로 여기에 무엇을하고 있는지 명확히 할 수 있습니다. 이것은 출력 텐서를 얻기 위해 입력 텐서로 모델을 호출하는 것을 의미합니다. 감사. –
모델이 레이어와 똑같이 작동합니다. 텐서를 통과하는 레이어를 "호출"합니다. 결과는 출력 텐서입니다. 그래서, 여러분이 모델'm'과 입력 텐서'inputT'를 가지고 있다고 가정하십시오. 다음은 모델을 호출합니다 :'output = m (inputT)'. 이 선에서, 당신은 입력 텐서를 모델에 "전달"하고 호출의 결과는 출력 텐서입니다. 당신이 말한 라인에서, 이제 출력 텐서리스트를 만들었습니다.리스트는 모델 목록에있는 각각의 모델에 하나씩 있습니다. 이 줄은 다음을 의미합니다 :'models' 목록에있는 각 모델'm'에 대해,이 모델을'inputTensor'로'm'이라고 부릅니다. 이것은 출력 텐서리스트를 생성합니다. –
정확히 내가 필요한 것. 소중한 시간을 가져 주셔서 감사합니다. –