2017-01-26 78 views
2

在tf.slim中,我想創建一個完全連接的圖層,並將其丟棄。在slim.stack中交織slim.dropout和slim.fully_connected?

以文檔爲例: slim.stack(x, slim.fully_connected, [32, 64, 128], scope='fc'),我想添加dropout。

是否可以使用slim.stack或我必須回到詳細的方法?

(pseudo-code) for every layer: 
    slim.dropout(slim.fully_connected(...) 

回答

1

基於@ guinny的評論,我可以創造一個局部功能:

layer = lambda inputs, layer_args, **kwargs:  
    slim.dropout(slim.fully_connected(inputs, layer_args, **kwargs)) 
with slim.arg_scope([slim.dropout], keep_prob=dropout_keep_prob): 
    layers = slim.stack(inputs, 
         layer, 
         layer_sizes, 
         activation_fn=nonlinearity, 
         scope=scope) 
+0

看起來不錯!儘管爲了便於閱讀,在大多數情況下寫出圖層可能會更好。只有在網絡非常深的情況下才能使用。 – guinny