我正在使用Keras和CheckPoint()回调来创建以下格式的检查点列表:
- app
--script.py
--checkpoint.01-{model-loss}.h5
--checkpoint.02-{model-loss}.h5
--checkpoint.03-{model-loss}.h5
--checkpoint.02-{model-loss}.h5
...
--checkpoint.10-{model-loss}.h5
..
--checkpoint.99-{model-loss}.h5
--checkpoint.100-{model-loss}.h5
..
我将检查点定义为:
model_path_glob = 'checkpoint.*'
checkpoints = glob.glob(model_path_glob) # gives me a list but in weird order
以上是循环执行的,因此checkpoints
会不断更新。
我可以看到len(checkpoints)
每次迭代都会正确更改,所以它们都在那里,但是按照奇怪的顺序。
然而,我似乎正在使用checkpoint[-1]
将相同的文件上传到服务器,例如前15次迭代将上传检查点1,2,3,..但是它将始终选择第16个迭代。
在我的本地计算机上,它选择第99次迭代,但不会超过它。
答案 0 :(得分:0)
checkpoints = sorted(glob.glob(model_path_glob), key=os.path.getmtime)
将按上次修改排序。我还没试过云虚拟机