Préparation avant le déploiement
Avant de commencer le déploiement du modèle PaddleSeg, les étapes préliminaires suivantes sont requises :
-
Exportation du modèle : Utiliser l'outil d'exportation pour convertir un modèle entraîné au format d'inférence. Pour les tests sans modèle personnel, des modèles de démonstration officiels peuvent être téléchargés.
-
Configuration de l'environnement : Installer les dépendnaces correspondant à la méthode de déploiement. Pour Paddle Inference par exemple : ``` pip install paddlepaddle-gpu # ou paddlepaddle pour la version CPU
-
Données de test : Préparer des images d'exemple, comme celles fournies dans le dataset Cityscapes.
Déploiement local avec Python (Paddle Inference)
Procédure principale
La commande d'inférence locale avec Paddle Inference se présente ainsi :
python deploy/python/inference.py --model_config /chemin/vers/config.yaml --input_img /chemin/vers/image
Description des paramètres
| Nom du paramètre | Fonction | Obligatoire | Par défaut |
|---|---|---|---|
| model_config | Fichier de configuration généré lors de l'exportation | Oui | - |
| input_img | Chemin vers l'image ou le répertoire | Oui | - |
| use_cpu | Forcer l'utilisation du CPU | Non | False |
| enable_trt | Activer l'accélération TensorRT | Non | False |
Problèmes courants et solutions
Problème : L'accélération TensorRT ne s'active pas
Symptôme : Aucune amélioration de performance avec --enable_trt=True.
Cause : Installation de PaddlePaddle sans support TensorRT.
Soltuion : Installer une version compatible en suivant la documentation officielle. Ajouter --enable_int8=True pour les modèles quantifiés.
Problème : Résultats d'inférence incohérents
Symptôme : Écart significatif entre les résultats de déploiement et de validation.
Cause : Paramètre apply_softmax mal configuré.
Solution : Si le modèle ne contient pas de couche softmax/argmax, ajouter --apply_softmax=True.
Déploiement sur mobile (Paddle Lite)
Processus pour Android
Exemple avec l'application de démonstration HumanSeg :
-
Cloner le dépôt et importer dans Android Studio : ``` git clone https://github.com/PaddlePaddle/PaddleSeg.git
-
Ouvrir le projet depuis :
PaddleSeg/deploy/lite/humanseg_android_demo/ -
Connecter un appareil et exécuter l'application.
Problèmes courants et solutions
Problème : Erreur de permission lors de la compilation Android
Message d'erreur : Permission denied
Solution : Exécuter la commande suivante :
chmod -R 777 /chemin/vers/projet/app/cache/
Problème : Échec du chargement du modèle
Cause : Chemin incorrect ou incompatibilité de version du modèle.
Solution : S'assurer que le modèle se trouve dans app/src/main/assets/image_segmentation/models/ et l'avoir converti avec l'outil Paddle Lite opt.
Déploiement en tant que service (Paddle Serving)
Étapes d'implémentation
Conversion du modèle :
python -m paddle_serving_client.convert --dir ./mon_modele --serving_server_file server.pdmodel --serving_client_file client.pdmodel
Démarrage du serveur :
python -m paddle_serving_server.serve --model serving_server --port 8868
Requête depuis le client :
python deploy/serving/serving_client.py --server_endpoint 127.0.0.1:8868 --image_path ./test.jpg
Problèmes courants et solutions
Problème : Port déjà utilisé
Symptôme : Message "Address already in use".
Solution : Choisir un autre port ou identifier le processus avec lsof -i:8868 et le terminer.
Problème : Délai d'attente du client
Cause : Mauvaise configuration IP/port ou restriction de pare-feu.
Solution : Vérifier le paramètre --server_endpoint et s'assurer que le port est accessible.
Déploiement web (Paddle.js)
Processus d'installation
-
Cloner le dépôt et installer les dépendances : ``` git clone https://github.com/PaddlePaddle/PaddleSeg.git cd PaddleSeg/deploy/web/demo && npm install
-
Lancer le serveur de développement : ``` npm run dev
-
Accéder à l'application via
http://localhost:8866/.
Problèmes courants et solutions
Problème : Erreur de politique CORS
Solution : Configurer les en-têtes dans webpack.config.js :
devServer: {
headers: {
"Access-Control-Allow-Origin": "*"
}
}
Problème : Chargement lent du modèle
Optimisation : Réduire la taille du modèle via la quantification ou utiliser un CDN pour distribuer les fichiers du modèle.
Validation du déploiement
Après le déploiement, vérifier les points suivants :
- Chargement du modèle sans erreur
- Performance conforme aux attentes (en référence aux benchmarks officiels)
- Cohérence des résultats avec la validation du modèle
- Utilisation raisonnable des ressources (mémoire CPU/GPU)
Pour des scénarios avancés comme le déploiement distribué, l'optimisation de modèle ou le développement d'opérateurs personnalisés, se référer à la documentation technique complète de PaddlePaddle.