Tensorflow 在Keras批次规范化层中进行测试期间,如何继续重新计算批次统计信息?
我正在研究一个域自适应模型。据我所知,Keras在训练期间计算输入数据的运行平均值,但在testin期间不计算(如第一篇文章所述,到目前为止没有什么特别之处) 现在,我如何使用Keras,以便在评估/测试期间更新批标准化统计数据 更具体地说: gamma和beta在训练期间学习,并在测试期间保持不变Tensorflow 在Keras批次规范化层中进行测试期间,如何继续重新计算批次统计信息?,tensorflow,neural-network,keras,normalization,batch-normalization,Tensorflow,Neural Network,Keras,Normalization,Batch Normalization,我正在研究一个域自适应模型。据我所知,Keras在训练期间计算输入数据的运行平均值,但在testin期间不计算(如第一篇文章所述,到目前为止没有什么特别之处) 现在,我如何使用Keras,以便在评估/测试期间更新批标准化统计数据 更具体地说: gamma和beta在训练期间学习,并在测试期间保持不变 我如何使用Keras,以便在测试期间重新计算每个批次的my(平均值)和sigma(标准差差值)?在使用Keras.backend.set_learning_phase(1)进行测试时,您是否尝试过
我如何使用Keras,以便在测试期间重新计算每个批次的my(平均值)和sigma(标准差差值)?在使用
Keras.backend.set_learning_phase(1)
进行测试时,您是否尝试过设置为学习阶段?当然,只有当批量标准化是网络中唯一依赖于阶段的层时(例如,使用dropout将打破这一点),这才像预期的那样起作用。但这是否会反向支持gamma和beta变量?我使用辍学,但出于好奇,现在问这个问题:)