深度学习中一个常见的组件是dropout,至于有何效果这里就不多说了,仅讲一个在darknet框架中的代码实现。
下面是整体代码:
void forward_dropout_layer(dropout_layer l, network net)
{
int i;
if (!net.train) return;
for(i = 0; i < l.batch * l.inputs; ++i){
float r = rand_uniform(0, 1);
l.rand[i] = r;
if(r < l.probability) net.input[i