mirror of
https://github.com/gryf/coach.git
synced 2025-12-18 03:30:19 +01:00
Adding checkpointing framework (#74)
* Adding checkpointing framework as well as mxnet checkpointing implementation. - MXNet checkpoint for each network is saved in a separate file. * Adding checkpoint restore for mxnet to graph-manager * Add unit-test for get_checkpoint_state() * Added match.group() to fix unit-test failing on CI * Added ONNX export support for MXNet
This commit is contained in:
committed by
shadiendrawis
parent
4da56b1ff2
commit
67eb9e4c28
@@ -142,3 +142,42 @@ def test_hybrid_clip():
|
||||
b = mx.nd.array((2,))
|
||||
clipped = hybrid_clip(F=mx.nd, x=x, clip_lower=a, clip_upper=b)
|
||||
assert (np.isclose(a= clipped.asnumpy(), b=(1, 1.5, 2))).all()
|
||||
|
||||
|
||||
@pytest.mark.unit_test
|
||||
def test_scoped_onxx_enable():
|
||||
class Counter(object):
|
||||
def __init__(self):
|
||||
self._count = 0
|
||||
|
||||
def increment(self):
|
||||
self._count += 1
|
||||
|
||||
@property
|
||||
def count(self):
|
||||
return self._count
|
||||
|
||||
class TempBlock(gluon.HybridBlock, OnnxHandlerBlock):
|
||||
def __init__(self, counter: Counter):
|
||||
super(TempBlock, self).__init__()
|
||||
OnnxHandlerBlock.__init__(self)
|
||||
self._counter = counter
|
||||
|
||||
def hybrid_forward(self, F, x, *args, **kwargs):
|
||||
if self._onnx:
|
||||
self._counter.increment()
|
||||
return x
|
||||
|
||||
counter = Counter()
|
||||
net = gluon.nn.HybridSequential()
|
||||
for _ in range(10):
|
||||
net.add(TempBlock(counter))
|
||||
|
||||
# ONNX disabled
|
||||
net(nd.zeros((1,)))
|
||||
assert counter.count == 0
|
||||
|
||||
# ONNX enabled
|
||||
with ScopedOnnxEnable(net):
|
||||
net(nd.zeros((1,)))
|
||||
assert counter.count == 10
|
||||
|
||||
Reference in New Issue
Block a user