2017-10-06 2 views
0

La fonction tf.layers.dense définie comme:initialiseur du noyau tf.layers.dense et régularisateur

tf.layers.dense(
    inputs, 
    units, 
    activation=None, 
    use_bias=True, 
    kernel_initializer=None, 
    bias_initializer=tf.zeros_initializer(), 
    kernel_regularizer=None, 
    bias_regularizer=None, 
    activity_regularizer=None, 
    trainable=True, 
    name=None, 
    reuse=None 
) 

a deux arguments optionnels kernel_initializer et kernel_regularizer. J'ai deux techniques différentes de régularisation et d'initialisation que je souhaite expérimenter. Je ne tiens pas à mettre en place l'intégralité du réseau neuronal à partir de zéro. Quelqu'un pourrait-il donner un exemple pour fournir des fonctions personnalisées à ces deux arguments?

Répondre

1

La meilleure chose à faire est de vérifier la mise en œuvre de initializer et regularizer en tensorflow. Par exemple, le variance_scaling_initializer initialiseur est défini dans ce code: https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/contrib/layers/python/layers/initializers.py#L62-L152

Il est consituted d'une fonction initializer avec la signature suivante:

initializer(shape, dtype=dtype, partition_info=None) 

qui retourne un tenseur.

Les régularisateurs sont définis ici: https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/contrib/layers/python/layers/regularizers.py