Jelentkezés Telefonon: +36/30-820-1750ONLINE

Hírek

tensorflow saver 예제

Kategória: Uncategorized

텐서플로우는 그래프에서 모든 변수의 현재 값을 저장/복원하고 실제 그래프 구조를 저장/복원하는 것을 구분합니다. 그래프를 복원하려면 Tensorflow의 함수를 사용하거나 처음에 그래프를 빌드한 코드 조각을 다시 호출할 수 있습니다. 그래프를 정의할 때 그래프를 저장하고 복원한 후 변수/ops를 검색할 수 있는 항목과 방법을 고려해야 합니다. 매핑을 지정하려면 클래스 및 스크립트 집합이 포함된 내 Tensorflow-Worklab을 사용하여 다양한 모델을 학습하고 다시 학습할 수 있습니다. 여기에는 ResNet 모델을 재교육하는 예제가 포함되어 있습니다.이 게시물에서는 가장 유용한 옵션 중 일부를 설명하고 몇 가지 예제를 제공하는 TensorFlow 모델을 저장하고 복원하는 방법을 살펴봅니다. 일반적인 패턴은 추론 요청이 직렬화된 tf의 형태로 도착한다는 것입니다. 예를 들어 serving_input_receiver_fn()은 이를 수신할 단일 문자열 자리 표시자를 만듭니다. serving_input_receiver_fn()은 tf를 구문 분석하는 것도 담당합니다. 그래프에 tf.parse_example op을 추가하여 예입니다. 따라서 0.10보다 큰 버전에 대한 Tensorflow 모델은 다음과 같이 보입니다: 이러한 serving_input_receiver_fn(예)을 작성할 때 tf.parse_example에 구문 분석 사양을 전달하여 파서에 어떤 피처 이름을 기대하고 매핑하는 방법을 알려주어야 합니다. 텐서.

구문 분석 사양은 피쳐 이름에서 tf로 dict의 형태를 취합니다. 고정렌 특징, tf. VarLen특징 및 tf. 스파스 특징. 이 구문 분석 사양에는 학습 시간에 사용되는 input_fn()에 사용되는 구문 분석 사양과 달리 서빙 시간에 사용할 수 없으므로 레이블 또는 가중치 열을 포함하지 않아야 합니다. 파이썬 식 외에도 numpy 함수를 전달할 수도 있습니다. 예를 들어 다음 명령은 SaveModel에서 사용 가능한 모든 MetaGraphDef 태그 집합을 보여 주며, tf.train.Saver() 클래스의 인스턴스인 이 보호기에서 복원을 호출하여 네트워크의 매개 변수를 복원할 수 있습니다. 여기서 sess는 세션 개체이며 `my-test-model`은 모델에 부여하려는 이름입니다. 전체 예제를 살펴보겠습니다.

자세한 내용은 텐서플로우 서빙 설명서 및 예제를 참조하십시오. 앞에서 보여 드린 저장/복원 예제에서 계속: 예를 들어 파일 이름에 “./”가 없는 그래프를 저장할 수 있습니다. 이 예제에서 입력 자리 표시자에 이름을 추가할 수 있었습니다. 모델의 저장은 SaveModelBuilder 클래스를 사용하여 수행됩니다. 이 예제에서는 서명이나 자산을 사용하지 않지만 프로세스를 설명하기에 충분합니다. Tensorflow 모델을 저장하고 복원하는 방법을 이해한 이제 미리 학습된 모델을 복원하고 예측, 미세 조정 또는 추가 교육에 사용할 수 있는 실용적인 가이드를 개발해 보겠습니다. Tensorflow로 작업할 때마다 예제(학습 데이터)와 학습 속도, 글로벌 단계 등과 같은 일부 하이퍼매개 변수를 제공하는 그래프를 정의합니다. 자리 표시자를 사용하여 모든 학습 데이터와 하이퍼 매개 변수를 공급하는 표준 관행입니다. 자리 표시자를 사용하여 작은 네트워크를 구축하고 저장해 보겠습니다. 네트워크를 저장하면 자리 표시자의 값이 저장되지 않습니다.

검사점 파일의 변수이름을 명시적으로 지정하는 것이 유용한 경우도 있습니다. 예를 들어 값이 “매개 변수”로 복원하려는 “가중치”라는 변수가 있는 모델을 학습했을 수 있습니다. Saver는 모델에 이미 정의된 모든 변수를 복원합니다. 그래프를 작성하는 방법을 모르고 모델을 로드하는 경우(예: 모델을 로드하는 일반 프로그램을 작성하는 경우) 이 문서의 후반부에서 모델 저장 및 복원 개요 섹션을 읽어보십시오. 이 예제에서는 공식 TensorFlow 설명서에 사용된 MNIST 초보자 자습서를 사용합니다. 두 가지 방법으로 스크립트를 수정합니다: ops에 이름을 추가하고 몇 줄을 추가하여 학습 후 모델을 저장합니다.