tensorflow estimator 예제

평가를 위해 반환된 tf.estimator.EstimatorSpec은 일반적으로 다음과 같은 정보를 포함합니다: 주제 tf.data, tf.estimator, pathlib, LSTMBlockFusedCell, tf.contrib.lookup.index_table_from_file, tf.contrib.estimator.stop_no_no_…).-증가 _hook, tf.data.dataset.from_generators, tf.metrics, tf.logging 당신은 우리가 제공하는 미리 만들어진 추정기를 사용하거나 사용자 정의 추정기를 작성할 수 있습니다. 미리 만들어진 것이든 사용자 지정이든 모든 추정기는 tf.estimator.estimator 클래스를 기반으로 하는 클래스입니다. 추정기는 Tensorflow API의 버전 1.3에 도입되었으며 교육, 평가 및 예측을 추상화하고 단순화하는 데 사용됩니다. 이 기사를 읽고 추정기를 사용할 때 모든 기본 을 다루지 않기 때문에 친숙함을 얻는 것이 좋습니다 전에 추정자와 함께 일하지 않은 경우. 이 문서가 모범 사례로 간주되어야한다고 생각하지는 않지만 추정기를 사용하는 몇 가지 측면을 신비화하고 명확히하기를 바랍니다. 여기서 주목해야 할 한 가지 중요한 점은 x에 대한 키가 올바른지 확인하십시오. 그래프에 여러 입력 텐서가 있을 수 있으며 이러한 각 입력 텐서에 대한 x 사전에 항목이 있어야 합니다. TensorFlow가 어떤 입력이 어디로 이동하는지 알 수 있도록 키가 그래프/모델에서 정의한 이름과 일치하는지 확인합니다. 위의 예에서 입력 텐서 입력의 이름을 지정하므로 입력을 키로 사용합니다. TensorFlow 릴리스 1.4는 또한 교육, 평가 및 추정기 모델 내보내기를 간소화하는 유틸리티 함수 tf.estimator.train_and_evaluate를 도입합니다. 이 블로그 게시물은 bi-LSTM + CRF 구현에 대한 단계별 검토를 통해 tf.data 및 tf.estimator에 대한 소개를 제공합니다. Howe는 tf.estimator.train_and__evaluate 함수(trainSpec 및 evalSpec과 함께) 열차, 평가 및 내보내기 모델을 사용하는 데 참을성이 없다면 미리 만들어진_estimator.py를 사용하여 custom_estimator.py를 비교하고 대조할 수 있습니다.

(동일한 디렉토리에 있습니다). 예제 코드를 다운로드하여 액세스하려면 다음과 같은 두 가지 명령이 호출됩니다: 가장 낮은 수준에서 Tensorflow는 노드가 계산 단위이고 가장자리가 텐서의 흐름인 그래프를 통해 일련의 계산흐름에 접근합니다(다차원). 배열)을 참조하십시오. Tensorflow는 실행을 시작하기 전에 계산 그래프를 작성합니다. 노드가 정의될 때 그래프가 실제로 실행되지 않습니다. 따라서 계산은 절대적으로 필요한 경우에만 예약됩니다 (우리는 이것을 게으른 실행으로 알고 있습니다). 그래프를 어셈블한 후 실행하려는 하드웨어를 바인딩하는 런타임 환경인 Session에서 배포되고 실행됩니다. 추정자 클래스의 또 다른 장점은 TensorFlow가 이제 모든 케라스 모델을 추정모델로 변환하여 모델 개발 속도를 높일 수 있다는 것입니다.

이것은 추정기 생성의 내가 가장 좋아하는 방법입니다. 안타깝게도 이 도구를 사용하는 방법을 배울 수 있는 접근 가능한 리소스가 많지 않으므로 MNIST 예제를 통해 분산 교육을 실행하는 첫 번째 추정기 코드를 작성합니다. 추정기는 적절한 모드로 함수를 호출하고 tf.estimator.estimatorSpec 개체를 대가로 기대합니다(사용자 지정 추정기를 빌드하는 데 사용됨): 이 문서에서는 tf.estimator-높은 수준의 TensorFlow API를 도입합니다. 기계 학습 프로그래밍을 크게 간소화합니다. 추정기는 다음 작업을 캡슐화합니다: 나는 tf.data.dataset.from_generator에서 제공하는 유연성의 큰 팬입니다. 그것은 당신이 그래프에 공급하기 전에 파이썬의 데이터 로딩 (파일 또는 다른 곳에서) 일부 전처리를 할 수 있습니다. 기본적으로 이러한 데이터 집합을 정의하는 것은 모든 파이썬 생성기의 출력을 텐서플로우 텐서에 배선하는 것입니다.