Comment puis-je utiliser le Tensorboard rappel de Keras?
J'ai construit un réseau de neurones avec Keras. Je voudrais visualiser ses données par Tensorboard, j'ai donc utilisé:
keras.callbacks.TensorBoard(log_dir='/Graph', histogram_freq=0,
write_graph=True, write_images=True)
comme expliqué dans keras.io. Quand je lance le rappel-je obtenir <keras.callbacks.TensorBoard at 0x7f9abb3898>
, mais je ne reçois pas de n'importe quel fichier dans mon dossier "Graphique". Est-il quelque chose de mal dans la façon dont j'ai utilisé cette fonction de rappel?
- Je suggère de réglage
histogram_freq
à1
. "histogram_freq: fréquence (en époques) dans le calcul de l'activation des histogrammes pour les couches du modèle. Si la valeur est 0, les histogrammes ne sera pas calculé." - Soyez prudent: "/Graphique" rend un répertoire dans le répertoire de racine, tandis que "./Graphique" fait dans le répertoire de travail.
- Si définie à 0, seulement l'activation et le poids des histogrammes pour les couches du modèle ne sera pas calculée à partir des données de Validation, des mesures seront toujours connecté.
- Je pense que c'est mieux de donner le nom unique de logdir regarder stackoverflow.com/a/54949146/1179925
Vous devez vous connecter pour publier un commentaire.
Cette ligne crée un Rappel Tensorboard objet, vous devez capturer l'objet et de le donner à la
fit
fonction de votre modèle.De cette façon, vous avez donné de votre rappel de l'objet à la fonction. Il sera exécuté au cours de la formation et des fichiers de sortie qui peut être utilisé avec tensorboard.
Si vous souhaitez visualiser les fichiers créés au cours de la formation, dans votre terminal
Espérons que cette aide !
histogram_freq=0
est défini si tensorboard ne pas ouvrir une session de l'histogramme partf.summary.histogram
- autrementhistogram_freq
n'est PAS égal à 0!C'est la façon dont vous utilisez le TensorBoard de rappel:
histogram_freq=0
est défini si tensorboard ne pas ouvrir une session de l'histogramme partf.summary.histogram
- autrementhistogram_freq
n'est PAS égal à 0!Changement
à
et de définir votre modèle
Exécuter dans votre terminal
AttributeError: 'TensorBoard' object has no attribute 'set_model'
.Si vous travaillez avec Keras bibliothèque et que vous voulez utiliser tensorboard pour l'impression de vos graphiques de précision et d'autres variables, Puis ci-dessous sont les étapes à suivre.
etape 1: Initialiser le keras rappel de la bibliothèque d'importer tensorboard en utilisant la commande ci-dessous
étape 2: Inclure la commande ci-dessous dans votre programme juste avant le "modèle.ajustement () de la commande".
Remarque: Utiliser Le "./graphique". Il va générer le graphe dossier dans votre répertoire de travail courant, éviter d'utiliser "/graphique".
étape 3: Inclure Tensorboard rappel dans "modèle.ajustement()".L'exemple est donné ci-dessous.
étape 4 : Exécution de votre code et de vérifier si votre dossier graphique est là, dans votre répertoire de travail. si les codes ci-dessus fonctionne correctement, vous devrez "Graphique"
dossier dans votre répertoire de travail.
étape 5 : Ouvrir un Terminal dans votre répertoire de travail et tapez la commande ci-dessous.
étape 6: Maintenant, ouvrez votre navigateur web et entrez l'adresse ci-dessous.
Après la saisie, le Tensorbaord page s'ouvre où vous pouvez voir vos graphiques de différentes variables.
histogram_freq=0
est défini si tensorboard ne pas ouvrir une session de l'histogramme partf.summary.histogram
- autrementhistogram_freq
n'est PAS égal à 0!Voici un code:
Fondamentalement,
histogram_freq=2
est le paramètre le plus important pour paramétrer lors de l'appel de cette fonction de rappel: il définit un intervalle de temps à appeler la fonction de rappel, dans le but de générer moins de fichiers sur les disques.Voici donc un exemple de visualisation de l'évolution des valeurs pour le dernier produit de convolution tout au long de la formation une fois vu dans TensorBoard, en vertu de la "histogrammes" onglet (et j'ai trouvé les "distributions" onglet contiennent très graphiques semblables, mais renversé sur le côté):
Dans le cas où vous souhaitez voir un exemple complet dans le contexte, vous pouvez vous référer à ce projet open-source: https://github.com/Vooban/Hyperopt-Keras-CNN-CIFAR-100
Vous avez écrit
log_dir='/Graph'
vouliez-vous dire./Graph
à la place? Vous avez envoyé il à/home/user/Graph
pour le moment./Graph
créer un dossier dans le répertoire home de l'utilisateur au lieu de simplement en utilisant/Graph
directement?Vous devriez vérifier Losswise (https://losswise.com), il a un plugin pour Keras c'est plus facile à utiliser que Tensorboard et quelques belles fonctionnalités supplémentaires. Avec Losswise vous devriez juste utiliser
from losswise.libs import LosswiseKerasCallback
et puiscallback = LosswiseKerasCallback(tag='my fancy convnet 1')
et vous êtes bon pour aller (voir https://docs.losswise.com/#keras-plugin).Il y a peu de choses.
La première, pas
/Graph
mais./Graph
Deuxième, lorsque vous utilisez le TensorBoard rappel, toujours passer la validation des données, parce que sans elle, il ne serait pas démarrer.
Troisième, si vous souhaitez utiliser quoi que ce soit, sauf scalaire des résumés, vous ne devez utiliser que le
fit
méthode carfit_generator
ne fonctionnera pas. Ou vous pouvez réécrire la fonction de rappel de travailler avecfit_generator
.Pour ajouter des rappels, il suffit de l'ajouter à
model.fit(..., callbacks=your_list_of_callbacks)
Créer le Tensorboard rappel:
Passer le Tensorboard rappel à la fit appel:
Lors de l'exécution du modèle, si vous obtenez une Keras erreur de
essayer de mettre à zéro les Keras session avant la création du modèle en faisant:
You must feed a value for placeholder tensor
. Aucune idée pourquoi?Si vous utilisez google-colab simple visualisation du graphe serait :