我使用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次迭代,并且没有超过它。
发布于 2018-05-04 20:58:24
checkpoints = sorted(glob.glob(model_path_glob), key=os.path.getmtime)将按上次修改时间排序。我还没有在云VM上尝试
https://stackoverflow.com/questions/50174955
复制相似问题