使用混合精度:AttributeError: 'paddle.fluid.core_avx.VarBase' object has no attribute 'op'
Created by: DrRyanHuang
Paddlepaddle 1.8.0/1.7.2 都试过,在AI Studio平台
按照官方demo, 混合精度训练最佳实践
只添加了一句代码,出现了: AttributeError: 'paddle.fluid.core_avx.VarBase' object has no attribute 'op'
sgd = SGDOptimizer(learning_rate=1e-3)
# 此处只需要使用fluid.contrib.mixed_precision.decorate将sgd封装成AMP训练所需的
# 优化器mp_sgd,并使用mp_sgd.minimize(avg_loss)代替原来的sgd.minimize(avg_loss)语句即可。
mp_sgd = fluid.contrib.mixed_precision.decorator.decorate(sgd) # <----------------- 就是它
mp_sgd.minimize(avg_loss)
整体代码在这里(已经公开,可直接打开): https://aistudio.baidu.com/aistudio/projectdetail/763655 (update: 2020.08.29 该项目已删除)