J'ai construit un réseau neuronal avec Keras. Je visualiserais ses données par Tensorboard, donc j'ai utilisé:
keras.callbacks.TensorBoard(log_dir='/Graph', histogram_freq=0,
write_graph=True, write_images=True)
comme expliqué dans keras.io . Lorsque j'exécute le rappel, je reçois <keras.callbacks.TensorBoard at 0x7f9abb3898>
, mais je n'obtiens aucun fichier dans mon dossier "Graph". Y a-t-il un problème dans la façon dont j'ai utilisé ce rappel?
keras
tensorboard
Simone
la source
la source
histogram_freq
sur1
. "histogram_freq: fréquence (en époques) à laquelle calculer les histogrammes d'activation pour les couches du modèle. S'il est défini sur 0, les histogrammes ne seront pas calculés."Réponses:
Cette ligne crée un objet Callback Tensorboard, vous devez capturer cet objet et le donner à la
fit
fonction de votre modèle.De cette façon, vous avez donné votre objet de rappel à la fonction. Il sera exécuté pendant la formation et produira des fichiers pouvant être utilisés avec tensorboard.
Si vous souhaitez visualiser les fichiers créés lors de la formation, exécutez dans votre terminal
J'espère que cela t'aides !
la source
Voici comment vous utilisez le rappel TensorBoard :
la source
histogram_freq=0
paramètre est défini si le tensorboard n'enregistre aucun histogramme partf.summary.histogram
- sinon, ilhistogram_freq
n'est PAS égal à 0!Changement
à
et définissez votre modèle
Exécutez dans votre terminal
la source
AttributeError: 'TensorBoard' object has no attribute 'set_model'
.Si vous travaillez avec la bibliothèque Keras et que vous souhaitez utiliser tensorboard pour imprimer vos graphiques de précision et d'autres variables, voici les étapes à suivre.
étape 1: initialisez la bibliothèque de rappel de keras pour importer tensorboard en utilisant la commande ci-dessous
étape 2: Incluez la commande ci-dessous dans votre programme juste avant la commande "model.fit ()".
Remarque: utilisez "./graph". Il générera le dossier graph dans votre répertoire de travail actuel, évitez d'utiliser "/ graph".
Étape 3: Incluez le rappel Tensorboard dans "model.fit ()". L'exemple est donné ci-dessous.
étape 4: exécutez votre code et vérifiez si votre dossier graphique est présent dans votre répertoire de travail. si les codes ci-dessus fonctionnent correctement, vous aurez le dossier "Graph" dans votre répertoire de travail.
étape 5: Ouvrez Terminal dans votre répertoire de travail et tapez la commande ci-dessous.
Étape 6: Ouvrez maintenant votre navigateur Web et entrez l'adresse ci-dessous.
Après avoir entré, la page Tensorbaord s'ouvrira où vous pourrez voir vos graphiques de différentes variables.
la source
histogram_freq=0
paramètre est défini si le tensorboard n'enregistre aucun histogramme partf.summary.histogram
- sinon, ilhistogram_freq
n'est PAS égal à 0!Voici un code:
Fondamentalement,
histogram_freq=2
c'est le paramètre le plus important à régler lors de l'appel de ce rappel: il définit un intervalle d'époques pour appeler le 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 la dernière convolution tout au long de l'entraînement une fois vue dans TensorBoard, sous l'onglet "histogrammes" (et j'ai trouvé que l'onglet "distributions" contenait des graphiques très similaires, mais retourné sur le côté):
Au cas où vous souhaiteriez voir un exemple complet en contexte, vous pouvez vous référer à ce projet open-source: https://github.com/Vooban/Hyperopt-Keras-CNN-CIFAR-100
la source
Si vous utilisez google-colab, une simple visualisation du graphique serait:
la source
Vous avez écrit
log_dir='/Graph'
à la./Graph
place? Vous l'avez envoyé à/home/user/Graph
pour le moment.la source
/Graph
créerait un dossier dans le répertoire personnel de l'utilisateur au lieu de simplement l'utiliser/Graph
directement?Vous devriez vérifier Losswise ( https://losswise.com ), il a un plugin pour Keras qui est plus facile à utiliser que Tensorboard et a quelques fonctionnalités supplémentaires intéressantes. Avec Losswise, vous utiliseriez simplement
from losswise.libs import LosswiseKerasCallback
et ensuitecallback = LosswiseKerasCallback(tag='my fancy convnet 1')
et vous êtes prêt à partir (voir https://docs.losswise.com/#keras-plugin ).la source
Il y a peu de choses.
D'abord, pas
/Graph
mais./Graph
Deuxièmement, lorsque vous utilisez le rappel TensorBoard, transmettez toujours les données de validation, car sans elles, cela ne démarrerait pas.
Troisièmement, si vous souhaitez utiliser autre chose que des résumés scalaires, vous ne devez utiliser que la
fit
méthode carfit_generator
elle ne fonctionnera pas. Ou vous pouvez réécrire le rappel pour travailler avecfit_generator
.Pour ajouter des rappels, ajoutez-le simplement à
model.fit(..., callbacks=your_list_of_callbacks)
la source
Créez le rappel Tensorboard:
Transmettez le rappel Tensorboard à l'appel d'ajustement:
Lors de l'exécution du modèle, si vous obtenez une erreur Keras de
essayez de réinitialiser la session Keras avant la création du modèle en faisant:
la source
You must feed a value for placeholder tensor
. Une idée pourquoi?