2017-10-31 9 views
1

나는 선형 회귀 모형 (선형 회귀 출력을 가진 CNN)을 훈련 시켰습니다. 내 입력은 이미지이고 출력은 확률입니다. 이제 다른 이미지 (내 테스트 세트와 다름)를 가져 와서 네트워크를 통해 확률을 얻고 싶습니다.keras를 이용한 선형 회귀 예측 찾기

내 모델, 무게와 이미지를로드하고 4D 텐서 실행 예측과 같이로 바꿀 : 나는 7.35의 값을 얻을

json_file = open('/home/model.json', 'r') 
loaded_model_json = json_file.read() 
json_file.close() 

loaded_model = model_from_json(loaded_model_json) 
loaded_model.load_weights("/home/weights.h5") 
loaded_model.compile(loss='mean_squared_error', optimizer=OPTIMISER, metrics=['mean_absolute_error']) 

img = (ndimage.imread(img).astype(float) - pixel_depth/2)/pixel_depth 
img = img.reshape(1, 128, 128, 1).astype('float32') 
out = loaded_model.predict(img) 

-하지만 내 네트워크 테스트 세트에서 수행되었습니다 0.4의 영역에서 (이것은 내가 필요로하는 것에 대해 괜찮음). 나는 1의 가치를 기대하고 있었다. 올바른 루틴을 사용하고 있습니까?

버그를 찾는 데 얼마나 걸릴지 확실하지 않습니다.

편집 : 이미지의 히스토그램 플롯.

Training set images hist Test set images hist

+0

교육 도중 이미지를 정규화 했습니까? –

+0

@ MarcinMożejko 예 – ashley

+0

예측 중 - 동일한 함수를 사용하여 정규화 했습니까? –

답변

0

내가 필요 정확히 무엇입니까 밝혀졌습니다. 예측은 네트워크가 이제는 문제가되지 않는 장애물 (3D 환경의 물리적 장애물)로 인해 가능해진 것처럼 방향이 바뀌는 것을 기반으로합니다. 처음에는 비슷한 가치의 예측을 찾으려고했지만 이것이 더 나은 것으로 나타났습니다.

학습 : 이것이 구조화 된 방식은 keras를 사용하여 선형 예측을 찾는 데 적합합니다.

관련 문제