训练报错变量算子未初始化:
数据预处理使用tf.keras.backend.zero生成变量,变量算子无法下沉到Device侧执行导致变量算子初始化失败。
修改训练脚本,不使用tf.keras.backend.zero生成变量,而直接使用TensorFlow原生接口tf.zero以tensor形式在Host侧生成变量。
原始脚本:
y = { ‘mlm_loss’: tf.keras.backend.zero([1]), ‘mlm_acc’: tf.keras.backend.zero([1]), }
修改后脚本:
y = { ‘mlm_loss’: tf.zero([1]), ‘mlm_acc’: tf.zero([1]), }