tensor flow 가중치 파일 에 대한 해석
3051 단어 tensorflow중시 하 다문건
2.reader.get_variable_to_shape_map()는 가중치 파일 의 tensor 이름 을 얻 을 수 있 습 니 다.
3.reader.get_tensor(key)는 tensor 에 대응 하 는 가중치 를 얻 을 수 있 습 니 다.
import tensorflow as tf
cpktFileName = r'.\models\resnet_v2_152.ckpt'
reader = tf.train.NewCheckpointReader(cpktFileName)
for key in sorted(reader.get_variable_to_shape_map()):
if key.endswith('weights') or key.endswith('biases'):
keySplits = key.split(r'/')
print(key)
print(reader.get_tensor(key))
resnet_v2_152 가중치 tensor name 해독첫째,모든 tensor name 은 resnetv2_152 시작
두 번 째,tensor name 두 번 째 단 계 는 block 이 고 모두 네 개의 block 이 있 습 니 다.네트워크 구조 와 관계 가 있다.
셋째,세 번 째 필드 는 유닛 이 고 블록 마다 유닛 수량 이 다 릅 니 다.네트워크 구조 와 관계 가 있다.
넷 째,팀 뒤의 평탄 층 을 제외 하고 네 번 째 필드 는 모두 bottleneck 입 니 다.v2
다섯 번 째,다섯 번 째 필드 는'conv 1','conv 2','conv 3','shortcut'입 니 다.
여섯 번 째,여섯 번 째 필드 는'weights'or'biases'입 니 다.
추가:tensorflow 모델 호출,가중치 보기
vc 버 전의 tensorpack 으로 설명 합 니 다.
모델 호출
실행 할 때마다 checkpoint,graph,model 생 성
1.그 중에서 만약 에 폴 더 에 checkpoint 가 있 고 마지막 모델 을 자동 으로 떨 어 뜨 린 다 고 쓰 여 있 으 면 지난번 을 바탕 으로 계속 훈련 할 수 있 습 니 다.그렇지 않 으 면 다시 생 성 되 고 이전 모델 을 호출 할 수 없습니다.이미 존재 하 더 라 도.
2.실행 할 때마다 graph 를 다시 생 성 합 니 다.지난번 에 이미 존재 하 더 라 도 마지막 모델 을 호출 하 는 것 은 폴 더 에 graph 가 있 는 지 여부 와 무관 합 니 다.
가중치 변수 보기
import numpy as np
import tensorflow as tf
import sys
model = sys.argv[1]
tensor = sys.argv[2]
reader = tf.train.NewCheckpointReader(model)
all_variables = reader.get_variable_to_shape_map()
#reader = pywrap_tensorflow.NewCheckpointReader(ckpt_path)
#param_dict = reader.get_variable_to_shape_map()
for key, val in all_variables.items():
try:
print key, val
#key ,val
except:
pass
w0 = reader.get_tensor(tensor)
np.save('con1d_w.npy',w0)
print(type(w0))
print(w0.shape)
print(w0[0])
파일 내용chekpoint-저 장 된 최신 checkpoint 파일 과 다른 checkpoint 파일 목록 을 기록 합 니 다.inference 에 서 는 이 파일 을 수정 하여 어떤 model 을 사용 할 지 지정 할 수 있 습 니 다.
MyModel.meta 파일 은 그림 구조 로 저 장 됩 니 다.meta 파일 은 pb(protocol buffer)형식 파일 로 변수,op,집합 등 을 포함 합 니 다.
ckpt 파일 은 바 이 너 리 파일 로 모든 weights,biases,gradients 등 변 수 를 저장 합 니 다.tensorflow 0.11 이전에.ckpt 파일 에 저 장 됩 니 다.0.11 후 두 개의 파일 을 통 해 저장 합 니 다.예 를 들 어:
MyModel.data-00000-of-00001
MyModel.index
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
GPU가 있는 M1 MacBook Air에 TensorFlow 설치(메탈)이제 TensorFlow v2.5에서 Apple의 tensorflow-metal PluggableDevice를 활용하여 Metal을 사용하여 Mac GPU에서 직접 가속화된 교육을 받을 수 있습니다. 자세히 알아보기...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.