文档首页> AI开发平台ModelArts> 故障排除> MoXing> moxing.tensorflow是否包含整个TensorFlow,如何对生成的checkpoint进行本地Fine Tune?
更新时间:2022-12-08 GMT+08:00

moxing.tensorflow是否包含整个TensorFlow,如何对生成的checkpoint进行本地Fine Tune?

问题现象

使用MoXing训练模型,“global_step”放在Adam名称范围下,而非MoXing代码中没有Adam名称范围,如图1所示。其中1为使用MoXing代码,2代表非MoXing代码。

图1 代码示例

处理方法

Fine Tune就是用别人训练好的模型,加上自己的数据,来训练新的模型。相当于使用别人的模型的前几层,来提取浅层特征,然后在最后再落入我们自己的分类中。

由于一般新训练模型准确率都会从很低的值开始慢慢上升,但是Fine Tune能够让我们在比较少的迭代次数之后得到一个比较好的效果。Fine Tune的好处在于不用完全重新训练模型,从而提高效率,在数据量不是很大的情况下,Fine Tune会是一个比较好的选择。

moxing.tensorflow包含所有的接口,对TensorFlow做了优化,里面的实际接口还是TensorFlow的原生接口。

当非MoXing代码中没有Adam名称范围时,需要修改非MoXing代码,在其中增加如下内容:

with tf.variable_scope("Adam"): 

在增加代码时不建议使用自定义“global_step”,推荐使用tf.train.get_or_create_global_step()