본문 바로가기
파이썬 (Python)/딥러닝 (Deep Learning)

Tendorflow + keras history.history['acc'] 오류 해결 방법

by ★√★ 2021. 2. 21.

안녕하세요, Davey 입니다. 오늘 포스팅할 내용은 Tensorflow Tendorflow history.history['acc'] 오류 해결 방법에 대해서 설명 드릴려고 합니다. Tensorflow 버전 업그레이드로 인해 발생하는 Error로 보입니다. 

 

 

1. Tensorflow history.history['acc'] 오류 내용

 

: 제가 지금 포스팅을 작성하는 기준으로 제가 사용하는 Tensorflow의 버전은 2.0.0 입니다. 그리고 keras는 2.3입니다. 제가 알기로는 이 두개 버전이 그나마 서로 잘 호환이 되는 걸로 알고 설치 후 공부를 하고 있습니다. 하지만 아무리 호환이 잘 된다라고 하더라도 시중에 나와있는 책과 비교하면 설명 자체가 저희가 헷갈리는 부분이 있습니다. 

 

- 그 중에 하나가 Tensorflow history.history['acc'] 오류 입니다. 이 부분은 시중에 나와있는 책에서는 Train Data에 대한 Accuracy를 나타내는 속성값을 'acc'로 명시를 해놨는데 이 부분은 잘못 기재가 된 것입니다. 

 

- 쉬운 예를 들기 위해 일단 Test Data를 기반으로 짜본 코드 중에 해당 Error 나온 코드는 아래와 같습니다. 그리고 이 코드를 돌려 보시면 아래와 같은 Error 결과 값을 보실 수 있을 겁니다.

#y_loss의 변수에 Test Data로 돌렸을 때 나오는 오차 값을 저장함.
y_vloss=history.history['val_loss']

#y_loss의 변수에 Train Data로 돌렸을 때 나오는 오차 값을 저장함.
y_acc=history.history['acc']

 

 

2. 오류 해결 방법

: 제 개인적인 생각은 이 부분은 버전 업그레이와 책에 명시에 있는 부분과 상의하기 때문이라고 생각합니다. (제가 말씀드리는 것은 Tensorflow 2.0.0, keras 2.3 기준입니다.) 즉, 기존 소스에서 일부 교정이 된거라고 생각합니다.

 

- 발생한 오류는 stackoverflow에도 올라왔네요. 해결 방법도 같이 나와 있습니다. 아래 나와 있는 것을 참조하시면, 'acc' 구문을 'accuracy'로 변경을 해주시면 됩니다. 수정 후 Run을 해보시면 정상적으로 오류 값이 나오는 것을 확인 하실 수 있을 겁니다.

 

 

3. 맺음말

 

: 정말 간단한데 저는 거의 30분정도를 이 방법을 찾아 헤맸네요. 정말 아는 게 힘이라는 걸 요즘에 느끼고 있습니다. 이미 많이 아신 분들은 금방 금방 코드를 작성하고 오류를 찾아 내시는데 저 같이 초보자는 이를 위해서 하나 하나 다 뒤저야 하기 때문에 시간 소유가 더 많이 아신 분들보다 크다는 것을 요즘 느끼고 있습니다. 좀 더 공부를 열심히 해야 할 거 같습니다. 이만 마무리 하도록 하겠습니다. 감사합니다.

 

제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다. 

[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]

728x90

댓글


// 내부링크를 현재창으로 열기 // Open internal links in same tab