Tensorflow 학습 노트(6)-변수 관리 와 모델 지속 화

2709 단어 딥 러 닝
1 변수 관리
TF 는 변수 이름 을 통 해 변 수 를 만 들 고 가 져 오 는 메커니즘 을 제공 합 니 다.변수의 매개 변 수 를 여기저기 전달 할 필요 가 없습니다.주로tf.get_variabletf.variable_scope를 통 해 이 루어 진다.tf.Variable 와 tf.getvariable 등가 사용 사례:
weight = tf.get_variable(name='weights', shape=[5, 5, 3, 1], initializer=tf.truncated_normal_initializer(stddev=0.1))

weight = tf.Variable(tf.truncated_normal(shape=[5, 5, 3, 1], stddev=0.1),name='weights')

TF 의 initializer 함 수 는 이전의 상수 생 성 함수 와 대부분 대응 합 니 다.다음 과 같다.
표 TF 의 변수 초기 화 함수
함수 이름 초기 화
변 수 를 초기 화 합 니 다.
주요 매개 변수
tf.random_nomal_initializer
정상 분포
평균치
tf.truncated_normal_initializer
정상 분포 이지 만 무 작위 로 나 온 값 이 평균 2 개 기준 차 를 초과 하면 이 수 는 다시 무 작위 로 나 올 것 이다.
평균치
tf.random_uniform_initializer
평균 분포
최소
tf.constant_initializer
주어진 상수
상수 값
tf.uniform_unit_scaling_initializer
평균 분 포 는 출력 수량 급 에 영향 을 주지 않 습 니 다.
factor(무 작위 값 이 생 겼 을 때 곱 하 는 계수)
tf.zeros_initializer
완전무결 하 다
변수 차원
tf.ones_initializer
완비 하 다
변수 차원tf.get_variable에 대해 서 는 name 필수tf.variable_scope를 선택 하여 작성 합 니 다.변수 재 활용 으로 인 한 오 류 를 피하 십시오.tf.get_variable을 통 해 생 성 된 변 수 를 가 져 오 려 면tf.variable_scope컨 텍스트 관리 자 를 생 성 해 야 합 니 다.reuse 인자 가 True 라면 이 관리자 의 모든tf.get_variable은 생 성 된 변 수 를 직접 가 져 옵 니 다.None 또는 False 이면 새로운 변 수 를 만 듭 니 다.이 때 같은 이름 의 변수 가 존재 하면 오류 가 발생 합 니 다.
#     foo     v
with tf.variable_scope("foo"):
    v = tf.get_variable(name="v", shape=[1], initializer=tf.constant_initializer(1.0))

#         
with tf.variable_scope("foo", reuse=True):
    v1=tf.get_variable(name="v",shape=[1])
    print(v==v1)

좋은 웹페이지 즐겨찾기