FAQ¶
Cette page rassemble les réponses aux questions les plus fréquemment posées sur l’apprentissage fédéré avec Flower.
Comment puis-je faire fonctionner l’apprentissage fédéré sur un Raspberry Pi ?
Est-ce que Flower prend en charge l’apprentissage fédéré sur les appareils Android ?
Oui, c’est vrai. Veuillez jeter un coup d’œil à notre guide blog post ou consultez les exemples de code :
Puis-je combiner l’apprentissage fédéré avec la blockchain ?
Oui, bien sûr, une liste d’exemples disponibles utilisant Flower dans un environnement blockchain est disponible ici :
- FLock: A Decentralised AI Training Platform.
Contributez à l’entraînement en ligne du modèle et gagnez des récompenses.
Blockchain locale avec simulation d’apprentissage fédéré.
Je vois une sortie terminale inattendue (par exemple : � □[32m□[1m) sur Windows. Comment puis-je y remédier ?
Si vous voyez un sortie (séquences de contrôle ANSI ou émoticônes brisées) comme celui-ci :
� □[32m□[1m□[0m□[96m□[1m�
Ceci est généralement une question liée à l’hôte terminal. Assurez-vous d’avoir installé la dernière version de l’application Windows Terminal (Microsoft’s terminal app), et exécutez ensuite les commande Flower là.
Pour vérifier rapidement si votre session PowerShell actuelle est en cours d’exécution dans Windows Terminal :
echo $env:WT_SESSION
Si cela imprime une valeur (par exemple, b4c5f2c8-...), vous êtes dans un terminal Windows. Si cela imprime rien, vous êtes probablement en train d’exécuter sur un hôte non-Windows-Terminal (par exemple, conhost), qui peut afficher les codes ANSI bruts ou des émoticônes incorrectes.
Je rencontre des erreurs de base de données SQL (comme Exception calling application: database is locked) lors de l’exécution de simulations locales. Qu’est-ce que je dois faire ?
Les simulations locales sont exécutées à travers un SuperLink local géré. Par défaut, ce SuperLink local stocke son état dans une base de données SQLite sous $FLWR_HOME. SQLite est fiable sur un système de fichiers local, mais elle peut se comporter mal en environnement réseau tels que des home directories montés via NFS ou le stockage d’un cluster HPC. Dans ces environnements, vous pourriez rencontrer des erreurs telles que database is locked ou autres échecs liés à SQLite.
Pour éviter ces problèmes, arrêtez le SuperLink local en arrière-plan et passez la connexion locale au mode mémoire dans votre configuration Flower :
[superlink.local]
address = ":local-in-memory:"
Après cela, relancez votre simulation locale avec flwr run. Flower lancera le local SuperLink géré avec une base de données en mémoire au lieu d’une base SQLite sur disque, ce qui évite les problèmes de blocage du système de fichiers. Voir Flower Configuration pour plus de détails.
Le compromis est que ce mode n’est pas persistant. Lorsque le SuperLink local géré s’arrête, il perd son état, y compris l’historique des exécutions et les journaux stockés pour les exécutations précédentes. Si vous avez besoin de persistance, préférez conserver $FLWR_HOME sur un disque local plutôt qu’en réseau.