Documentation Index
Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
Use this file to discover all available pages before exploring further.
PyTorch Geometric, ou PyG, est l’une des bibliothèques les plus populaires pour le deep learning géométrique, et W&B s’y intègre extrêmement bien pour visualiser des graphes et suivre les expériences.
Après avoir installé PyTorch Geometric, suivez ces étapes pour démarrer.
Inscrivez-vous et créez une clé API
Une clé API authentifie votre machine auprès de W&B. Vous pouvez générer une clé API à partir de votre profil.
Pour une méthode plus directe, créez une clé API en accédant directement aux Paramètres utilisateur. Copiez immédiatement la clé API nouvellement créée et conservez-la dans un endroit sûr, par exemple dans un gestionnaire de mots de passe.
- Cliquez sur l’icône de votre profil en haut à droite.
- Sélectionnez Paramètres utilisateur, puis faites défiler la page jusqu’à la section Clés API.
Installez la bibliothèque wandb et connectez-vous
Pour installer la bibliothèque wandb en local et vous connecter :
Ligne de commande
Python
Python notebook
-
Définissez la variable d’environnement
WANDB_API_KEY avec votre clé API.
export WANDB_API_KEY=<your_api_key>
-
Installez la bibliothèque
wandb et connectez-vous.
pip install wandb
wandb login
import wandb
wandb.login()
!pip install wandb
import wandb
wandb.login()
Vous pouvez enregistrer des informations sur les graphes en entrée, notamment le nombre d’arêtes, le nombre de nœuds, etc. W&B prend en charge la consignation de graphiques Plotly et de panneaux HTML, de sorte que toutes les visualisations que vous créez pour votre graphe peuvent également être consignées dans W&B.
L’extrait suivant montre comment procéder avec PyVis et HTML.
from pyvis.network import Network
import wandb
with wandb.init(project=’graph_vis’) as run:
net = Network(height="750px", width="100%", bgcolor="#222222", font_color="white")
# Ajouter les arêtes du graphe PyG au réseau PyVis
for e in tqdm(g.edge_index.T):
src = e[0].item()
dst = e[1].item()
net.add_node(dst)
net.add_node(src)
net.add_edge(src, dst, value=0.1)
# Enregistrer la visualisation PyVis dans un fichier HTML
net.show("graph.html")
run.log({"eda/graph": wandb.Html("graph.html")})
Pour utiliser Plotly afin de créer une visualisation de graphe, vous devez d’abord convertir le graphe PyG en objet NetworkX. Vous devrez ensuite créer des graphiques de dispersion Plotly pour les nœuds et les arêtes. L’extrait ci-dessous peut être utilisé pour cette tâche.
def create_vis(graph):
G = to_networkx(graph)
pos = nx.spring_layout(G)
edge_x = []
edge_y = []
for edge in G.edges():
x0, y0 = pos[edge[0]]
x1, y1 = pos[edge[1]]
edge_x.append(x0)
edge_x.append(x1)
edge_x.append(None)
edge_y.append(y0)
edge_y.append(y1)
edge_y.append(None)
edge_trace = go.Scatter(
x=edge_x, y=edge_y,
line=dict(width=0.5, color='#888'),
hoverinfo='none',
mode='lines'
)
node_x = []
node_y = []
for node in G.nodes():
x, y = pos[node]
node_x.append(x)
node_y.append(y)
node_trace = go.Scatter(
x=node_x, y=node_y,
mode='markers',
hoverinfo='text',
line_width=2
)
fig = go.Figure(data=[edge_trace, node_trace], layout=go.Layout())
return fig
with wandb.init(project=’visualize_graph’) as run:
run.log({‘graph’: wandb.Plotly(create_vis(graph))})
Vous pouvez utiliser W&B pour suivre vos expériences et les métriques associées, comme les fonctions de perte, la précision, entre autres. Ajoutez la ligne suivante à votre boucle d’entraînement :
with wandb.init(project="my_project", entity="my_entity") as run:
run.log({
'train/loss': training_loss,
'train/acc': training_acc,
'val/loss': validation_loss,
'val/acc': validation_acc
})