Keras load_model 가 져 오기 오류 해결 방법

Keras load 사용 중model 시 다음 과 같은 오류 가 발생 합 니 다.
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
해결 방법:
$ pip install pydot
$ sudo apt-get install graphviz
추가 지식:Keras 지정 한 폴 더 에 model 저장 및 load 불 러 오기model 지정 폴 더 의 파일(구덩이 밟 기)
저 희 는 보통 모델 을 저장 하고 로드 모델 은 아래 코드 를 통 해 저장 합 니 다.

from keras.models import load_model
model.save('model.h5')
from keras.models import load_model
model = load_model('model.h5') 
이때 저 장 된 경 로 는 모두 모델 훈련 경로 입 니 다.프로젝트 를 작성 하 는 과정 에서 코드 와 result 를 파일 로 나 누 어 저장 해 야 합 니 다.즉,모델 은 자신 이 지정 한 경로 에 저장 해 야 합 니 다.다음 에 제 가 저장 하고 불 러 오 는 방법 을 설명 할 때 제 프로젝트 파일 디 렉 터 리 분 배 를 간단하게 말씀 드 리 겠 습 니 다.

위 는 제 프로젝트 의 파일 배치 입 니 다.그 중에서 FJ model 에는 모델 트 레이 닝 과 모델 로드 코드 가 있 습 니 다.reslut 에 save-model 에는 제 가 한 번 훈련 한 60 개의 모델 이 저장 되 어 있 습 니 다.

지정 한 경로 모델 저장:

PATH = "../FengJiCode/result"
 ....
model.save(PATH+"/save-model/"+lags+"_LSTM3.h5")
여기 서 저 는 상대 적 인 경 로 를 사용 하여 저 장 했 고 60 개의 모델 을 성공 적 으로 저 장 했 습 니 다.그러나 불 러 오 는 과정 에서 저 는 지 정 된 파일 이름 에 따라 불 러 왔 습 니 다.다음 코드 로 불 러 옵 니 다.

#PATH = "../FengJiCode/result"
PATH = 'C://Users/lenovo/Desktop/FengJiCode/FengJiCode/result/save-model/'
 
for i in range(60):
 predictstep = i+1
 lag = "lag"+str(predictstep)
 modelname = lag+"_LSTM3.h5"
 print(modelname)
 string = PATH +modelname
 model = load_model(string) 
항상 다음 과 같은 오 류 를 보고 합 니 다.
OSError: Unable to open file (unable to open file: name = 'C:/Users/lenovo/Desktop/FengJiCode/FengJiCode/result/save-model/lag1_LSTM3.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)
절대 경로,상대 경로,파일 읽 기 등 방법 을 자주 사용 해 보 았 지만 성공 적 으로 불 러 올 수 없 었 습 니 다.마지막 으로 인터넷 에서 많은 자 료 를 찾 았 지만 똑 같은 문제 해결 방법 이 없 었 습 니 다.제 가 계속 시도 하 는 과정 에서 다음 과 같은 방법 으로 성공 적 으로 해결 되 었 습 니 다.

PATH = r'C:\Users\lenovo\Desktop\FengJiCode15\FengJiCode\result\save-model'
 
for i in range(60):
 predictstep = i+1
 lag = "lag"+str(predictstep)
 modelname = "\\"+lag+"_LSTM3.h5"
 print(modelname)
 string = PATH +modelname
 if os.path.exists(string):
  message = 'OK, the "%s" file exists.'
 else:
  message = 'Sorry, I cannot find the " %s" file.'
 print( message % string)
# print(string)
 model = load_model(string) 
경로 형식 이 바 뀌 었 습 니 다.불 러 오기 전에 파일 이 존재 하 는 지 판단 하고 결 과 를 불 러 왔 습 니 다.

이상 이 Keras loadmodel 가 져 오 는 잘못된 해결 방식 은 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기