MCPcopy Index your code
hub / github.com/tensorpack/tensorpack / CheckpointReaderAdapter

Class CheckpointReaderAdapter

tensorpack/tfutils/sessinit.py:42–72  ·  view source on GitHub ↗

An adapter to work around old checkpoint format, where the keys are op names instead of tensor names (with :0).

Source from the content-addressed store, hash-verified

40
41
42class CheckpointReaderAdapter(object):
43 """
44 An adapter to work around old checkpoint format, where the keys are op
45 names instead of tensor names (with :0).
46 """
47 def __init__(self, reader):
48 self._reader = reader
49 m = self._reader.get_variable_to_shape_map()
50 self._map = {k if k.endswith(':0') else k + ':0': v
51 for k, v in six.iteritems(m)}
52
53 def get_variable_to_shape_map(self):
54 return self._map
55
56 def get_tensor(self, name):
57 if self._reader.has_tensor(name):
58 return self._reader.get_tensor(name)
59 if name in self._map:
60 assert name.endswith(':0'), name
61 name = name[:-2]
62 return self._reader.get_tensor(name)
63
64 def has_tensor(self, name):
65 return name in self._map
66
67 # some checkpoint might not have ':0'
68 def get_real_name(self, name):
69 if self._reader.has_tensor(name):
70 return name
71 assert self.has_tensor(name)
72 return name[:-2]
73
74
75class MismatchLogger(object):

Callers 1

_read_checkpoint_varsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…