web-dev-qa-db-fra.com

Keras - est-il possible de visualiser les poids et les biais des modèles dans Tensorboard

Je viens de commencer avec Keras et j'ai créé un exemple de programme Q-learning. J'ai créé un rappel de tensorboard et je l'inclus dans l'appel à model.fit, mais les seules choses qui apparaissent dans TensorBoard sont le résumé scalaire de la perte et le graphique du réseau. Fait intéressant, si j'ouvre la couche dense dans le graphique, je vois une petite icône récapitulative intitulée "polar_0" et une intitulée "kernel_0", mais je ne les vois pas apparaître dans les onglets de distribution ou d'histogrammes de TensorBoard comme je l'ai fait quand J'ai construit un modèle en tensorflow pur.

Dois-je faire autre chose pour les activer dans Tensorboard? Dois-je examiner les détails du modèle produit par Keras et ajouter mes propres appels tensor_summary ()?

13
Ocie Mitchell

Vous pouvez obtenir les poids et les biais par couche et pour l'ensemble du modèle avec .get_weights().

Par exemple, si la première couche de votre modèle est la couche dense pour laquelle vous souhaitez avoir vos poids et biais, vous pouvez les obtenir avec:

weights, biases = model.layers[0].get_weights()
12

J'ai débogué cela et j'ai constaté que le problème était que je ne fournissais aucune donnée de validation lorsque j'ai appelé fit (). Le rappel TensorBoard ne rendra compte des poids que lorsque des données de validation seront fournies. Cela semble un peu restrictif, mais j'ai au moins quelque chose qui fonctionne.

1
Ocie Mitchell