如何仅使用Lambda函数中随机选择的输入转发数据,最好是在Keras中。
特定场景 - 我将输入层拆分为2个CNN塔(每个塔的架构略有不同)。我想将它们合并回来,但只转发来自其中一个塔的输出。这种随机检查将针对每个图像进行,因此理论上每个塔将在50%的时间内使用。
使用谷歌的力量我想出了
StreanDelegate
这会编译并尝试适应,但准确性不会提高。
答案 0 :(得分:0)
您的var
按照预期的方式工作。
为了使其有效,你需要制作一个像伯努利随机变量一样的张量。不幸的是,就目前而言,Keras后端并没有提供开箱即用的功能。
您可以使用统一的随机变量来实现它,例如:
var_uniform_sample = K.random_uniform(shape=(1,))
var = K.greater(0.5, var_proba)
(我还没有对细节进行过测试,但我已经使用了与此完全相同的东西,但还有其他形状)。