我是Tensorflow 2.0的新手,目前将我的旧脚本从Keras(tensorflow 1.8)移植到新版本的Tensorflow。 我的问题是我想利用旧的keras代码使用回调函数保存模型:
class CustomSaver(Callback):
def __init__(self, name, checkpoint, save_path=save_path,epoch=0):
self.name= name
self.epoch = epoch
self.checkpoint = checkpoint
self.save_path = save_path
def on_epoch_end(self, epoch, logs={}):
if epoch % self.checkpoint == 0: # or save after some epoch, each k-th epoch etc.
file_name = "{0}/{1}_{2}.hd5".format(self.save_path, self.name ,self.epoch + epoch)
self.model.save(file_name)
所以我可以在某些时期后减轻体重
ae_saver = CustomSaver(model_prefix_name, checkpoint=50, save_path=os.path.join(save_path, 'saved_models'))
history = ae_model.fit(x=features_extracted,
y=features_extracted,
batch_size=64,
epochs=201,
validation_split=0.05,
callbacks=[ae_saver])
问题出在这里:
当我保存模型时,它将创建三个文件/文件夹,称为:assets
saved_model.pb
variables
,这些文件/文件夹归nfsnobody
或我所有。但是我无法删除它们。
我正在使用共享服务器,所以我没有root权限,也没有更改所有者权限。我从tensorflow keras搜索信息,但与问题无关。
问题是:
保存模型的正确方法是什么?
任何人都有相同的问题,以及如何删除从model.save