이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

tf.compat.v1.train.Saver

GitHub의에서 소스보기

저장 및 복원 변수.

참조 변수를 저장 및 복원, 변수의 개요.

Saver 클래스는 저장과 체크 포인트에서 변수를 복원하기 위해 작전을 추가합니다. 또한이 작전을 실행하는 데 편리한 방법을 제공합니다.

체크 포인트는 텐서 값에 변수 이름을 매핑 독점 형식의 바이너리 파일입니다. 체크 포인트의 내용을 검사하는 가장 좋은 방법은 사용하여로드하는 것입니다 Saver .

보호기는 제공 카운터 번호 체크 포인트 파일 이름을 자동으로 할 수 있습니다. 이 모델을 훈련하는 동안 여러 단계에서 여러 개의 체크 포인트를 유지할 수 있습니다. 예를 들어, 당신은 훈련 스텝 번호와 검사 점 파일 이름에 번호를 할 수 있습니다. 디스크를 채우고 방지하기 위해 보호기가 자동으로 검사 점 파일을 관리 할 수 ​​있습니다. 예를 들어, 교육의 모든 N 시간에 대해서만 N 가장 최근의 파일 또는 하나 개의 체크 포인트를 유지할 수 있습니다.

당신은 옵션에 값을 전달하여 체크 포인트 파일 이름에 번호를 global_step 에 인수 save() :

 saver.save(sess, 'my-model', global_step=0) ==> filename: 'my-model-0'
...
saver.save(sess, 'my-model', global_step=1000) ==> filename: 'my-model-1000'
 

또한,에 선택적 인수 Saver() 생성자는 디스크에 검사 점 파일의 확산을 제어 할 수 있습니다 :

  • max_to_keep 유지하는 최근의 검사 점 파일의 최대 수를 나타냅니다. 새로운 파일이 만들어지면 이전 파일은 삭제됩니다. 없음 0 경우, 체크 포인트는 파일 시스템에서 삭제되지 않습니다하지만 마지막이 유지되는 checkpoint 파일. 5 기본값 (즉, 최근 5 개 개의 체크 포인트 파일이 보관되어있다.)

  • keep_checkpoint_every_n_hours : 가장 최근의 유지뿐만 아니라 max_to_keep 검사 점 파일을, 당신은 교육의 모든 N 시간 동안 하나 개의 검사 점 파일을 유지 할 수 있습니다. 나중에 모델이 긴 훈련 기간 동안 진행하는 방법을 분석 할 경우에 유용 할 수 있습니다. 예를 들어, 전달 keep_checkpoint_every_n_hours=2 당신이 훈련의 2 시간마다 하나 개의 검사 점 파일을 유지하도록합니다. 10,000시간의 디폴트 값은 효과적으로 기능을 사용할 수 없습니다.

여전히 전화를해야합니다 save() 모델을 저장하는 방법. 생성자에 이러한 인수를 전달하면 자동으로 변수를 저장하지 않습니다.

정기적으로 저장하는 교육 프로그램은 다음과 같습니다

 ...
# Create a saver.
saver = tf.compat.v1.train.Saver(...variables...)
# Launch the graph and train, saving the model every 1,000 steps.
sess = tf.compat.v1.Session()
for step in xrange(1000000):
    sess.run(..training_op..)
    if step % 1000 == 0:
        # Append the step number to the checkpoint name:
        saver.save(sess, 'my-model', global_step=step)
 

검사 점 파일뿐만 아니라, 보호기는 최근 체크 포인트의 목록을 디스크에 프로토콜 버퍼를 유지한다. 이는 번호가 검사 점 파일을 관리하는 데 사용하는 것입니다 latest_checkpoint() , 쉽게 가장 최근의 체크 포인트 경로를 발견 할 수있다. 즉, 프로토콜 버퍼는 다음 체크 포인트 파일을 '체크 포인트'라는 이름의 파일에 저장됩니다.

여러 보호기를 만들 경우에 대한 호출에서 프로토콜 버퍼 파일에 다른 파일 이름을 지정할 수 있습니다 save() .

var_list 목록 Variable / SaveableObject , 또는에 대한 사전 매핑 이름 SaveableObject 의. 만약 None , 모든 저장 기능 제공 개체의 목록 기본값.
reshape 경우 True , 변수가 다른 모양을 가지고 체크 포인트에서 매개 변수를 복원 할 수 있습니다.
sharded 경우 True , 체크 포인트, 기기 당 하나의 사금.
max_to_keep 최근 체크 포인트의 최대 수는 유지합니다. 5 기본값.
keep_checkpoint_every_n_hours 얼마나 자주 체크 포인트를 유지합니다. 1만시간 기본값.
name 끈. 작업을 추가 할 때 옵션 이름을 접두어로 사용할 수 있습니다.
restore_sequentially Bool true 인 경우, 각각의 장치 내에서 연속적으로 일어날 다른 변수 복원 야기. 매우 큰 모델을 복원 할 때 메모리 사용량을 낮출 수 있습니다.
saver_def 옵션 SaverDef 프로토 대신 빌더를 실행하는 사용합니다. 이것은 다시 원하는 특수 코드에만 유용 Saver 이전에 구축을위한 객체 Graph 했다 Saver . saver_def 프로토는에 의해 반환되는 것이어야 as_saver_def() 의 호출 Saver 그 대해 만들어진 Graph .
builder 옵션 SaverBuilder 경우에 사용하는 saver_def 제공되지 않았습니다. 기본값은 BulkSaverBuilder() .
defer_build 경우 True , 연기받는 저장 및 복원 작전을 추가 build() 호출. 그 경우에는 build() 그래프를 확정 또는 보호기를 사용하기 전에 호출되어야한다.
allow_empty 경우 False (기본) 그래프에서 변수가없는 경우 오류를 발생시킵니다. 그렇지 않으면, 어쨌든 보호기를 구성하고 그것을 무 조작합니다.
write_version 체크 포인트를 저장할 때 어떤 형식 컨트롤을 사용합니다. 또한 특정 파일 경로 매칭 로직에 영향을 미칩니다. V2 형식은 권장 선택 : 훨씬 더 필요한 메모리의 측면에서 V1보다 최적화 및 지연 복원 중에 발생한다. 이 플래그와 관계없이, 세이버는 모두 V2와 V1 체크 포인트에서 복원 할 수 있습니다.
pad_step_number 진정한 경우, 일부 고정 폭 (기본적으로 8)에 체크 포인트 filepaths의 글로벌 스텝 번호를 채 웁니다. 이것은 기본적으로 해제되어 있습니다.
save_relative_paths 경우 True , 검사 점 상태 파일에 상대 경로를 작성합니다. 이것은 사용자가 복사 된 디렉토리에서 검사 점 디렉토리 및 재 장전을 복사하고 싶을 경우 필요합니다.
filename 그래프 건설 당시에 알려진 경우, 파일 이름은 저장 / 가변 부하에 사용됩니다.

TypeError 경우 var_list 유효하지 않습니다.
ValueError 의 키 또는 값의 경우 var_list 고유하지 않습니다.
RuntimeError 열망 실행이 활성화되어있는 경우 var_list 저장하는 변수의 목록을 지정하지 않습니다.

last_checkpoints 아니 아직 삭제 검사 점 파일 이름 목록.

당신은 반환 된 값 중 하나를 통과 할 수 restore() .

행동 양식

as_saver_def

소스보기

생성 SaverDef 이 보호기의 표현을.

보고
SaverDef 프로토.

build

소스보기

export_meta_graph

소스보기

기록 MetaGraphDef save_path / 파일 이름.

인수
filename 경로 포함 옵션 meta_graph 파일 이름.
collection_list 문자열 키 목록 수집합니다.
as_text 경우 True , 아스키 프로토으로 meta_graph을 기록합니다.
export_scope 선택적 string . 제거하려면 이름 범위.
clear_devices 여부는 대한 장치 필드 취소 Operation 이나 Tensor 내보내는 동안.
clear_extraneous_savers 이 보호기와 연관되지 않은 (작전 및 SaverDefs / 복원 모두 저장) 그래프에서 어떤 보호기 관련 정보를 제거합니다.
strip_default_attrs 부울. 경우 True , 기본 값 속성은 NodeDefs에서 제거됩니다. 자세한 가이드를 들어, 참조 기본 값 특성을 스트리핑 .
save_debug_info 경우 True , 파일 이름의 같은 디렉토리와 함께 별도의 파일로 GraphDebugInfo을 저장 _debug 파일 확장자 앞에 추가.

보고
MetaGraphDef 프로토.

from_proto

소스보기

리턴 Saver 에서 생성 된 객체 saver_def .

인수
saver_def SaverDef 프로토콜 버퍼.
import_scope 선택적 string . 사용에 범위 이름을 지정합니다.

보고
Saver saver_def에서 만들었습니다.

recover_last_checkpoints

소스보기

충돌 후 내부 보호기 상태를 복구합니다.

이 방법은 "self._last_checkpoints"상태를 복구하는 데 유용합니다.

체크 포인트에 대한 globs와는 가리키는 checkpoint_paths . 파일이 존재하는 경우, 체크 포인트 타임 스탬프로 자신에 mtime을 사용합니다.

인수
checkpoint_paths 체크 포인트 경로의 목록입니다.

restore

소스보기

이전에 저장 한 변수를 복원합니다.

이 방법은 변수를 복원하기위한 생성자에 의해 추가 된 작전을 실행합니다. 이 그래프가 출범하는 세션을 필요로한다. 자체 변수를 초기화 할 수있는 방법입니다 복원으로 복원 할 수있는 변수는 초기화되지 할 필요가 없습니다.

save_path 인수는 일반적으로 이전에서 반환 된 값 save() 호출, 또는를 호출 latest_checkpoint() .

인수
sess Session 매개 변수를 복원하는 데 사용할 수 있습니다. 열망 모드 없음.
save_path 매개 변수는 이전에 저장 한 경로.

제기
ValueError save_path 유효한 검사 점 없음 여부없는 경우.

save

소스보기

변수를 저장합니다.

이 방법은 변수를 저장하기위한 생성자에 의해 추가 된 작전을 실행합니다. 이 그래프가 출범하는 세션을 필요로한다. 변수는 초기화되어 있어야합니다 저장합니다.

방법은 새로 만든 검사 점 파일의 경로 접두어를 반환합니다. 이 문자열의 호출에 직접 전달 될 수있는 restore() .

인수
sess Session은 변수를 저장하는 데 사용합니다.
save_path 끈. 검사 점에 대해 작성된 파일 이름의 접두어.
global_step 제공 한 경우 글로벌 스텝 번호가 추가됩니다 save_path 검사 점 파일 이름을 만들 수 있습니다. 옵션 인수는 될 수 Tensor 하는 Tensor 이름 또는 정수입니다.
latest_filename 의지가 가장 최근의 체크 포인트의 목록이 포함 된 프로토콜 버퍼 파일의 선택적 이름입니다. 체크 포인트 파일과 같은 디렉토리에 보관 해당 파일이 자동으로 최근의 체크 포인트를 추적하기 위해 보호기에 의해 관리됩니다. '체크 포인트'기본값.
meta_graph_suffix 에 대한 접미사 MetaGraphDef 파일. '메타'기본값.
write_meta_graph Boolean 메타 그래프 파일을 작성할지 여부를 나타내는.
write_state Boolean 기록 인 여부를 나타내는 CheckpointStateProto .
strip_default_attrs 부울. 경우 True , 기본 값 속성은 NodeDefs에서 제거됩니다. 자세한 가이드를 들어, 참조 기본 값 특성을 스트리핑 .
save_debug_info 경우 True , save_path의 같은 디렉토리와 함께 별도의 파일로 GraphDebugInfo을 저장 _debug 파일 확장자 앞에 추가. 경우에만 사용할 수 있습니다 write_meta_graph 있다 True

보고
문자열 : 검사 점 파일에 사용되는 경로 접두사. 세이버가와,이 문자열 끝 분산됩니다 경우 : '- ????? -의 - 여기서, nnnnn을'어디에 'nnnnn은'생성 된 파편의 수입니다. 세이버가 비어있는 경우, None을 반환하지 않습니다.

제기
TypeError 경우 sess 하지 않은 것입니다 Session .
ValueError 경우 latest_filename 경로 구성 요소가 포함되어 있습니다, 또는 충돌하는 경우 save_path .
RuntimeError 및 저장하다면 작전이 내장되지 않은 복원합니다.

set_last_checkpoints

소스보기

중지됨 : 사용 set_last_checkpoints_with_time.

기존 검사 점 파일 이름의 목록을 설정합니다.

인수
last_checkpoints 체크 포인트 파일 이름의 목록입니다.

제기
AssertionError last_checkpoints 경우 목록이 아닙니다.

set_last_checkpoints_with_time

소스보기

기존 검사 점 파일 이름과 타임 스탬프의 목록을 설정합니다.

인수
last_checkpoints_with_time 체크 포인트 파일 이름과 타임 스탬프의 튜플의 목록입니다.

제기
AssertionError last_checkpoints_with_time는 목록에없는 경우.

to_proto

소스보기

변환이 Saver (A)에 SaverDef 프로토콜 버퍼.

인수
export_scope 선택적 string . 제거하려면 이름 범위.

보고
SaverDef 프로토콜 버퍼.