2016-11-03 2 views
3

이 글은이 질문에 적절한 장소가 아닐 수 있다고 말하면서 시작 하겠지만 어디에서 시작해야할지 모르겠습니다. 보다 적절한 SE 채널이 있다면 언제든지 제안하십시오.컴파일 된 Keras 모델에서 tensorflow 코드를 반환 할 수 있습니까?

저는 다양한 예측 문제에 신경 네트워크를 적용하는 방법을 배우기 위해 Keras를 사용해 왔습니다. 저는 TensorFlow를 이러한 네트워크의 내부 작업에 대해 더 깊이 이해할 수있는 방법으로 학습하는 데 관심이 있습니다. 분명히 Keras의 백엔드를 TensorFlow로 전환하고 Keras를 TensorFlow의 상위 API로 사용할 수 있습니다. 그러나 컴파일 된 Keras 모델에서 TensorFlow 코드를 "복구"할 수있는 방법이 있습니까? Keras에서 익숙한 모델을 작성하고이 라이브러리를 더 빨리 익히는 방법으로 TensorFlow의 "번역"을 자동으로 볼 수 있다는 것이 매우 유용하다고 생각합니다.

의견이나 제안이 도움이 될 것입니다. 읽어 주셔서 감사합니다.

답변

1

Keras가하는 일은 Theano와 TensorFlow를 하나의 통합 백엔드 모듈로 추상화하는 것입니다. 그런 다음 Kerano에서 사용할 수있는 레이어와 메서드를 구현하기 위해 백엔드의 함수를 사용합니다.

이것은 다시 한 특정 백엔드에 대한 코드를 생성하는 컴파일 단계가 필요 없음을 의미합니다. Theano와 TensorFlow는 모두 파이썬 라이브러리이며, 번역 단계가 필요하지 않습니다. Keras는 지정한 라이브러리를 사용합니다.

Keras의 모델을 TensorFlow로 작성하는 방법을 찾는 가장 좋은 방법은 동일한 데이터 세트를 사용하는 간단한 네트워크를 검색하고 TensorFlow 및 Keras의 예제를 비교하는 것입니다. 또 다른 방법은 Keras 코드를 읽고 TensorFlow 백엔드 모듈에서 K.<function>을 조회하는 것입니다.

개별 백엔드에서 제공하는 플랫폼 별 코드에 관심이있는 경우 (예 : CUDA 코드이면 대답은 달라집니다. Theano와 TensorFlow는 임시 디렉토리를 사용하여 코드와 소스를 저장합니다. theano의 경우 기본값은 ~/.theano입니다. 그러나이 코드를 살펴보면 신경 네트워크와 그 기계공을 이해하는 데 더 현명하지 않을 것입니다.

관련 문제