다음 모양의 신경망 입력을 공급하고 싶습니다. 각 교육 항목은 치수가 700x10 인 2D 배열입니다. 총 204 개의 교육 항목이 있습니다.사용자 지정 치수로 입력 텐서 흐름 또는 케라 신경망 입력
model = Sequential()
model.add(Dense(300, activation='relu', input_shape=(700, 10)))
model.add(Dense(1, activation='sigmoid'))
그러나 그때 얻고 다음 오류 (제 층 input_shape 관련되지 : 라벨 I 시도
크기 204 (이진 출력)의 단지 1 차원 배열 단지 밀도 층을 사용 출력의 유효성 검사 도중) :
ValueError: Error when checking target: expected dense_2 to have 3 dimensions, but got array with shape (204, 1)
204 - 학습 데이터의 양.
스택 트레이스 :
그것은 교육 전에 확인하는 동안 실패 Keras 코드를 디버깅하는 동안 내가 발견 무엇
model.fit(xTrain, yTrain, epochs=4, batch_size=6)
File "keras\models.py", line 867, in fit
initial_epoch=initial_epoch)
File "keras\engine\training.py", line 1522, in fit
batch_size=batch_size)
File "keras\engine\training.py", line 1382, in _standardize_user_data
exception_prefix='target')
File "keras\engine\training.py", line 132, in _standardize_input_data
. 출력 배열의 유효성을 검사합니다.
신경망 구조에 따르면, 첫 번째 밀도 레이어는 700, 1 차원 출력을 생성하며 이후 출력은 내 출력이 204 개의 1 차원 배열이기 때문에 실패합니다.
이 문제를 어떻게 극복합니까? 나는 Dense() 레이어 다음에 Flatten()을 추가하려고 시도했으나 잘못된 방법으로 정확도에 영향을 미쳤습니다. 700 개 배열의 한 점에 대한 정보를 그룹화하여 유지하려고합니다.
좋습니다. model.summary() tip! 감사합니다. Keras에 대한 추가 조사를 시도 할 것이며 Keras가 더 철저하게 제공해야 할 것이 무엇입니까 – Twisty
데이터를 설명해 주시겠습니까? 예를 들어 700 개의 벡터가 시간 단계 인 경우 GRU 및 LSTM과 같은 순환 네트워크를 사용할 수 있습니다. 물리적 길이라면 1D 컨볼 루션을 사용하는 것이 흥미로울 것입니다. –