Scaling up Keras with Estimators (AI Adventures)

[음악 재생] YUFENG GUO : Keras 모델을 변환 할 수 있다는 것을 알고 계셨습니까? TensorFlow 추정량에? 분산 된 환경에서 다양한 옵션을 제공합니다 교육 및 확장

방법을 찾으려면 계속 지켜봐주십시오 "Cloud AI Adventures"에 오신 것을 환영합니다 우리는 예술, 과학, 기계 학습 도구 내 이름은 Yufeng Guo입니다 그리고이 에피소드에서 우리는 변환하여 규모대로 운영하는 Keras 모델을 준비하는 것 그것을 TensorFlow 평가자에게 전달합니다

그래서 우리는 Keras 모델을 가지고 있습니다 정의하기 쉽고 읽고 읽기 쉬우 며 유지하기가 쉽습니다 그러나 더 큰 데이터 세트로 확장하는 것은 그리 좋지 않습니다 또는 여러 컴퓨터에서 실행 중일 수 있습니다 운 좋게도 Keras와 TensorFlow는 가지고 있습니다

환상적인 상호 운용성 기능 우리가 원하는 것은 Keras 모델을 변환하는 것입니다 배포 된 TensorFlow 견적서 훈련이 내장되어 있습니다 이것은 스케일링 문제를 해결하는 우리의 표입니다 또한 모델 제공을 쉽게 할 수 있습니다

우리 훈련이 끝나면 우리가 관심있는 기능 model_to_estimator라고합니다 그리고 우리가 시작한 노트를 가져 왔습니다 이전 에피소드에서와 함께 새로운 코드로 업데이트 Keras 모델을 TensorFlow 추정기로 변환합니다 Keras를 내보내는 방법에 대해서도 살펴 보겠습니다 일단 훈련이 완료되면 모델은 TensorFlow 모델

이제 Kaggle 노트북과 다이빙으로 전환합시다 코드로 그래서 여기 우리는 Kaggle 커널로 돌아 왔습니다 우리의 패션 MNIST 데이터 세트와 함께 이 코드는 현저하게 친숙 해 보입니다 우리는 NumPy, 팬더, TensorFlow, 그 플롯

그리고 우리는 우리의 데이터 세트를 끌어 올 것입니다 팬더와 함께, 그 CSV 파일을 읽고, 처음 몇 줄을 들여다 보면 알 수 있습니다 첫 번째 열은 Google의 라벨 열입니다 모든 픽셀은 모두 나머지입니다 오른쪽 열의 이 편리한 사전 처리 기능이 있는데, 데이터 프레임을 가져 와서 꺼냅니다

지형지 물 및 라벨 값 그런 다음 직접 저장할 수 있습니다 열차 기능, 열차 라벨, 테스트 기능 및 테스트 라벨 그런 다음 우리는 한 번 핫 인코딩을 할 것입니다 이것은 이전 에피소드에서 본 것과 정확히 같습니다 숫자 인 그 레이블을 변환 할 것입니다

10에 대한 길이 10의 배열 인 레이블 가능한 다른 라벨 그럼 우리 기차를 운영 할거야 우리는 우리의 훈련 매개 변수를 가지고있다 우리는 Keras 모델을 만들 것입니다 이것은 Keras를 만들기 위해 우리가 본 코드와 똑같습니다

전에 모델 그리고 일단 우리가 그것을 만들면 모델을 실행할 수 있습니다 맞습니다 – 이전 에피소드에서 본 것과 동일합니다 우리가 모델에 적합하게되면, 우리는 그것을 테스트 할 수 있습니다 그리고 지금, 우리는 흥미로운 것에 도달합니다

우리의 개종 Keras 모델을 TensorFlow 추정량으로 변환하는 방법은 무엇입니까? model_to_estimator를 사용합니다 이 함수는 몇 가지 다른 인수를 취합니다 하지만 우리의 경우에는 우리 모델에 하나의 포인터를 전달하는 것입니다 인수 Keras 모델

그러면 Keras 모델이 변환됩니다 TensorFlow 추정기에 입력합니다 우리 TensorFlow 견적가가 준비되면, 우리는 평소대로 할 수있는 모든 것을 할 수 있습니다 TensorFlow 추정기로 수행하십시오 이 경우, 나는 계속 나아가 훈련을하기로 결정했습니다

우리는 견적가를 훈련시키고 정확성과 성능 측면에서 우리가 달성 할 수있는 것 그래서 우리가 그렇게하고 싶다면 먼저 우리는 우리의 입력 기능을 어떻게 구성하는지 생각할 필요가 있습니다 그리고 우리의 특징에 대한 큰 의문이 있습니다 우리는 그러한 특징들에 대한 레이블이 필요합니다 우리는 그것을 무엇이라고 부릅니까? 우리가 Keras에서 왔을 때, 우리는 실제로 그것의 이름을 지을 필요가 없습니다

우리 스스로 modelinput_names를 실행해야합니다 그리고 이것은 Keras 모델의 입력 이름입니다 TensorFlow 모델

그 이름들은 복사됩니다 Keras 모델을 살펴볼 수 있습니다 이 경우 dense_3_input이라고합니다 그리고 우리가 그것을 꺼낼 때, 우리는 그 변수 입력을 사용할 것입니다 name은 dense_3_input을 가리키며, 우리의 특징을위한 열쇠입니다

그래서 일단 우리가 그것을 설정하면, 우리는 무엇을 할 수 있을까? 우리는 TensorFlow 추정기 교육을 보는 데 익숙합니다 기능 열이 있습니다 이 경우, 우리는 tf 분류 자의 이름을 바꿀 것입니다 그냥 분류 자로 그리고 이제, 우리는 훈련 할 수 있습니다

그리고 우리는 정확한 입력 이름을 사용했기 때문에, 오류없이이 작업을 수행 할 수 있습니다 올바른 입력 이름을 사용하지 않으면, 오류가 발생하므로 입력 이름을 알아 내야합니다 이제 평가 및 설정을 실행할 수 있습니다 그 evaluate_input 함수 입력 이름을 한 번 사용해야 할 것입니다

다시 여기에서, 그것을 없애는 정말로 좋은 생각 변수에 여기서 주목해야 할 또 하나의 점은 우리가 원 핫 라벨을 사용했다는 것입니다 TensorFlow 교육 및 평가에서, 우리가 Keras에서했던 것처럼 이제 순수 TensorFlow에서이 모델을 실행했습니다

과거에는 패션 MNIST와 함께 not-one-encoded 레이블을 사용할 수있었습니다 5, 7, 9라는 라벨을 사용할 수 있습니다 이 경우 우리는 Keras에서 직접 모델을 가져 왔기 때문에 그것을 TensorFlow로 옮겼습니다 또한 기대하는 모델이되었다 원 핫 코드 레이블

따라서 동일한 라벨을 사용해야합니다 Keras에서했던 것처럼 실제로 이것은 매우 편리하게 끝납니다 왜냐하면 동일한 배열에서 같은 변수를 사용할 수 있습니다 전에 사용했던 이제 평가가 완료되었음을 알 수 있습니다

이 경우 86 %가됩니다 그리고 Keras에서는 비슷한 것을 얻었습니다 여기서 볼 수 있습니다 – 네, 85 % 정확도는 다양한 요인에 이르기까지 무작위 초기화 상태에서 내 컴퓨터는 주어진 날에 그런 느낌이 들었습니다 이제 우리는 두 모델 모두에서 훈련 된 모델을 갖게되었습니다

TensorFlow, 간단한 살펴보기 우리가이 모델을 어떻게 내보낼 지 파일 시스템에 저장합니다 Keras 모델은 매우 직관적입니다 Modelsave를 호출하고 이름을 지정하면됩니다 HDF5 형식으로 내보낼 것입니다

TensorFlow 측면에서 모델 내보내기 export_savedmodel 함수를 사용해야합니다 이 함수는 두 개의 인수를 취합니다 하나는 그것을 내보내는 경로입니다 둘째, 서빙 입력 수신기 기능, 간단히 말해 서빙 기능이라고도합니다 TensorFlow에는 도움이되는 유틸리티가 있습니다

그 봉사 기능을 구축하십시오 그리고 그것은이 매핑을 인수로 취합니다 입력 모양과 유형의 이것은 모델이 어떤 종류의 입력을 기대 하는지를 알 수 있도록 도와줍니다 그래서 일단 우리가 export_savedmodel을 실행하면 TensorFlow 모델에서 우리는 그것이 수출 된 곳을 볼 수 있습니다 그리고 우리는 TensorFlow가 모델을 수출한다는 것을 알 수 있습니다

파일 및 변수라는 폴더로 그래서 편의를 위해 나는 그것을 압축하거나 타르를 좋아한다 쉽게 다운로드 할 수 있습니다 그리고 나서 다른 쪽에서, 당신이 그것을 다운로드하자마자, 당신은 tar로도 압축을 풀 수 있습니다 그래서 그게 무슨 상관이야

Keras 모델을 가지고 우리는 이것을 TensorFlow 추정기로 변환했습니다 그 다음 TensorFlow 추정기를 수출했다 우리는 실제로이 모든 것을 할 수있었습니다 처음부터 TensorFlow 견적을 생성합니다

우리는 Keras 모델을 사용하는 모든 단계를 거쳤습니다 그것을 훈련하여 TensorFlow 추정기로 변환하고, 훈련을 한 다음 두 가지를 수출하는 것입니다 그리고 우리는 그 내 보낸 파일을 사용할 수 있습니다 향후 에피소드에서 더 재미있는 일을 할 수 있습니다 TensorFlow 평가자를 사용하여 분산 교육 받기 Keras 모델을 한 줄로 쉽게 조정할 수 있습니다

이제 두 세계의 장점을 모두 누릴 수 있습니다 Keras 모델 작성 구문을 쉽게 읽을 수 있습니다 TensorFlow 추정기를 통한 분산 교육 "Cloud AI Adventures"에피소드를 시청 해 주셔서 감사합니다 그리고 그것을 즐긴다면, 그것을 좋아하십시오

모든 최신 에피소드를 바로 구독하려면 구독하십시오 그들이 나올 때 지금 당장 당신이 필요로하는 모든 것을 기억하십시오 Keras 모델을 사용하여 분산 된 교육을받는 방법 model_to_estimator를 사용하는 것입니다