运行时中的备用Tensorflow Hub模块标签

时间:2018-08-09 12:33:58

标签: python python-3.x tensorflow tensorflow-hub

我有一条标准管道,可以在训练一个时期后评估模型。我需要 resnet50在训练时可以进行微调,所以我这样实例化:

var alloweCharSet = new HashSet<char>(allowedChars);

但是,我读到changelog时,应该在评估时取消设置标签。

我意识到我可以保存模型,关闭会话,重置图形,使用resnet50_module = hub.Module("https://tfhub.dev/google/imagenet/resnet_v2_50/feature_vector/1", trainable=True, name="resnet50_finetunable", tags={"train"}) 重建模型并从检查点加载权重以进行评估。特别是这似乎非常浪费,因为由于resnet50,模型的规模很大,我需要做数百个纪元才能获得好的结果。没有这种方法,有没有办法在标签之间交替?

谢谢!

1 个答案:

答案 0 :(得分:0)

恐怕没有检查点就没有很好的方法。

变量是在调用hub.Module()时创建的,因此它们绑定到特定的图形版本(用于训练的tags = {“ train”}或用于推理的空标记集)。您所描述的内容可以理解为一项功能请求,可以针对模块的每个应用程序分别进行设置,但该功能请求尚不存在(并且有一些影响)。

与要运行的评估相比,对本地磁盘的检查点真的那么贵吗?无论如何,您是否不想随时检查站以允许在崩溃后恢复?