-
Keras 케라스 batch predict 예제 및 메소드 사용python source code 2023. 8. 5. 16:16728x90
아래 코드를 사용하여 이미 학습된 모델에 대해
예측값을 확인하고자 했었다.
self.model.predict(inputs, batch_size = 64)
가장 아래의 참고 링크에서 몇 가지 메소드들을 발견하여 하나씩 테스트를 해봤지만
잘 되지 않았다...
predict
predict(x, batch_size=None, verbose=0, steps=None, callbacks=None)
인풋 샘플에 대한 아웃풋 예측을 생성합니다.
계산은 배치 단위로 실행됩니다.
이수
- x: Numpy 배열 (혹은 모델이 다중 인풋을 갖는 경우 Numpy 배열의 리스트) 형태의 인풋 데이터.
- batch_size: 정수. 따로 정하지 않으면 디폴트 값인 32가 됩니다.
- verbose: 다변 모드, 0 혹은 1.
- steps: 예측이 한 회 완료되었음을 선언하기까지 단계(샘플 배치)의 총 개수. 디폴트 값인 None의 경우 고려되지 않습니다.
- callbacks: keras.callbacks.Callback 인스턴스의 리스트. 학습과 검증 과정에서 적용할 콜백의 리스트입니다. 콜백을 참조하십시오.
test_on_batch
test_on_batch(x, y, sample_weight=None)
하나의 샘플 배치에 대해서 모델을 테스트합니다.
인수
- x: 테스트 데이터의 Numpy 배열, 혹은 모델이 다중 인풋을 갖는 경우 Numpy 배열의 리스트. 모델의 모든 인풋에 이름이 명명된 경우 인풋 이름을 Numpy 배열에 매핑하는 딕셔너리를 전달할 수도 있습니다.
- y: 표적 데이터의 Numpy 배열, 혹은 모델이 다중 아웃풋을 갖는 경우 Numpy 배열의 리스트.. 모델의 모든 아웃풋에 이름이 명명된 경우 아웃풋 이름을 Numpy 배열에 매핑하는 딕셔너리를 전달할 수도 있습니다.
- sample_weight: x와 동일한 길의의 선택적 배열로, 각 샘플에 대한 모델의 손실에 적용할 가중치를 담습니다. 시간적 데이터의 경우, (samples, sequence_length)의 형태를 가진 2D 배열을 전달하여 모든 샘플의 모든 시간 단계에 대해 각기 다른 가중치를 적용할 수 있습니다. 이러한 경우 반드시 compile() 내에서 sample_weight_mode="temporal"를 특정해야 합니다.
반환값
(모델이 단일 아웃풋만 갖고 측정항목을 보유하지 않는 경우) 스칼라 테스트 손실, 혹은 (모델이 다중 아웃풋, 그리고/혹은 측정항목을 갖는 경우) 스칼라 리스트. model.metrics_names속성은 스칼라 아웃풋에 대한 디스플레이 라벨을 제공합니다.
predict_on_batch
predict_on_batch(x)
하나의 샘플 배치에 대한 예측 값을 반환합니다.
인수
- x: 인풋 샘플의 Numpy 배열.
반환값
예측 값의 Numpy 배열.
결과적으로 아래의 에러가 공통적으로 나타났다. ㅠ
더보기ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 42), found shape=(64, 1, 42)
결국 이 문제는
numpy squeeze 메소드로 해결할 수 있었다.
생각보다 단순한 문제였음
메소드의 기능으로는
괄호가 추가된 shape에서
빈 껍데기를 제거해준다고 생각하면 된다.
input_processed = np.squeeze(input)
[[1,2]]
[1,2]
이런식으로 바뀌게 된다.
그럼 shape가
[1, 1, 2]에서 [1, 2] 로 바뀐다.
ValueError: Input 0 of layer dense is incompatible with the layer: expected axis -1 to have value 8 but received input with shap
I'm training a model for the OpenAI lunarLander-v2 environment. I've succesfully done this using a Sequential model, but when trying to use the functional model, I get some errors with tensorshapes...
stackoverflow.com
https://keras.io/ko/models/sequential/
Sequential - Keras Documentation
Sequential 모델 API 시작하려면, 케라스 Sequential 모델 가이드를 읽어보십시오. Sequential 모델 메서드 compile compile(optimizer, loss=None, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_te
keras.io
반응형'python source code' 카테고리의 다른 글