You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/fr/guides/integrations.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,22 +5,22 @@ rendered properly in your Markdown viewer.
5
5
# Intégrez votre framework de ML avec le Hub
6
6
7
7
Le Hugging Face Hub facilite l'hébergement et le partage de modèles et de jeux de données.
8
-
Des [dizaines de librairies](https://huggingface.co/docs/hub/models-libraries) sont intégrées à cet écosysteme. La communauté travaille constamment à en intégrer de nouvelles et contribue ainsi à faciliter la collaboration dans le milieu du machine learning. La librairie `huggingface_hub` joue un rôle clé dans ce processus puisqu'elle permet d'interagir avec le Hub depuis n'importe quel script Python.
8
+
Des [dizaines de librairies](https://huggingface.co/docs/hub/models-libraries) sont intégrées à cet écosystème. La communauté travaille constamment à en intégrer de nouvelles et contribue ainsi à faciliter la collaboration dans le milieu du machine learning. La librairie `huggingface_hub` joue un rôle clé dans ce processus puisqu'elle permet d'interagir avec le Hub depuis n'importe quel script Python.
9
9
10
10
Il existe quatre façons principales d'intégrer une bibliothèque au Hub :
11
-
1.**Push to Hub** implémente une méthode pour upload un modèle sur le Hub. Cela inclut les paramètres du modèle, sa fiche descriptive (appelée [Model Card](https://huggingface.co/docs/huggingface_hub/how-to-model-cards)) et toute autre information pertinente lié au modèle (par exemple, les logs d'entrainement). Cette méthode est souvent appelée `push_to_hub()`.
11
+
1.**Push to Hub** implémente une méthode pour upload un modèle sur le Hub. Cela inclut les paramètres du modèle, sa fiche descriptive (appelée [Model Card](https://huggingface.co/docs/huggingface_hub/how-to-model-cards)) et toute autre information pertinente liée au modèle (par exemple, les logs d'entraînement). Cette méthode est souvent appelée `push_to_hub()`.
12
12
2.**Download from Hub** implémente une méthode pour charger un modèle depuis le Hub. La méthode doit télécharger la configuration et les poids du modèle puis instancier celui-ci. Cette méthode est souvent appelée `from_pretrained` ou `load_from_hub()`.
13
13
3.**Inference API** utilise nos serveurs pour faire de l'inférence gratuitement sur des modèles supportés par votre librairie.
14
14
4.**Widgets** affiche un widget sur la page d'accueil de votre modèle dans le Hub. Les widgets permettent aux utilisateurs de rapidement tester un modèle depuis le navigateur.
15
15
16
-
Dans ce guide, nous nous concentreront sur les deux premiers sujets. Nous présenterons les deux approches principales que vous pouvez utiliser pour intégrer une librairie, avec leurs avantages et leurs inconvénients. Tout est résumé à la fin du guide pour vous aider à choisir entre les deux. Veuillez garder à l'esprit que ce ne sont que des conseils, et vous êtes libres de les adapter à votre cas d'usage.
16
+
Dans ce guide, nous nous concentrerons sur les deux premiers sujets. Nous présenterons les deux approches principales que vous pouvez utiliser pour intégrer une librairie, avec leurs avantages et leurs inconvénients. Tout est résumé à la fin du guide pour vous aider à choisir entre les deux. Veuillez garder à l'esprit que ce ne sont que des conseils, et vous êtes libres de les adapter à votre cas d'usage.
17
17
18
-
Si l'Inference API et les Widgets vous intéressent, vous pouvez suivre [ce guide](https://huggingface.co/docs/hub/models-adding-libraries#set-up-the-inference-api). Dans les deux cas, vous pouvez nous contacter si vous intégrez une librairie au Hub et que vous voulez être listée[dans la documentation officielle](https://huggingface.co/docs/hub/models-libraries).
18
+
Si l'Inference API et les Widgets vous intéressent, vous pouvez suivre [ce guide](https://huggingface.co/docs/hub/models-adding-libraries#set-up-the-inference-api). Dans les deux cas, vous pouvez nous contacter si vous intégrez une librairie au Hub et que vous voulez être listé[dans la documentation officielle](https://huggingface.co/docs/hub/models-libraries).
19
19
20
20
## Une approche flexible: les helpers
21
21
22
22
La première approche pour intégrer une librairie au Hub est d'implémenter les méthodes `push_to_hub` et `from_pretrained`
23
-
vousmême. Ceci vous donne une flexibilité totale sur le choix du fichier que vous voulez upload/download et sur comment
23
+
vous-même. Ceci vous donne une flexibilité totale sur le choix du fichier que vous voulez upload/download et sur comment
24
24
gérer les inputs spécifiques à votre framework. Vous pouvez vous référer aux guides : [upload des fichiers](./upload)
25
25
et [télécharger des fichiers](./download) pour en savoir plus sur la manière de faire. Par example, c'est de cette manière que l'intégration
26
26
de FastAI est implémentée (voir [`push_to_hub_fastai`] et [`from_pretrained_fastai`]).
@@ -81,8 +81,8 @@ upload des poids à la volée, maintenir les poids localement, etc.) consultez l
81
81
82
82
### Limitations
83
83
84
-
Bien que très flexible, cette approche a quelques défauts, particulièrement en terme de maintenance. Les utilisateurs
85
-
d'Hugging Face sont habitués à utiliser des certaines fonctionnalités lorsqu'ils travaillent avec `huggingface_hub`. Par exemple,
84
+
Bien que très flexible, cette approche a quelques défauts, particulièrement en termes de maintenance. Les utilisateurs
85
+
d'Hugging Face sont habitués à utiliser certaines fonctionnalités lorsqu'ils travaillent avec `huggingface_hub`. Par exemple,
86
86
lors du chargement de fichiers depuis le Hub, il est commun de passer des paramètres tels que:
87
87
-`token`: pour télécharger depuis un dépôt privé
88
88
-`revision`: pour télécharger depuis une branche spécifique
@@ -92,15 +92,15 @@ lors du chargement de fichiers depuis le Hub, il est commun de passer des param
92
92
93
93
Lorsque vous pushez des modèles, des paramètres similaires sont utilisables:
94
94
-`commit_message`: message de commit personnalisé
95
-
-`private`: créé un dépôt privé s'il en manque un
96
-
-`create_pr`: créé un pull request au lieu de push vers `main`
95
+
-`private`: crée un dépôt privé s'il en manque un
96
+
-`create_pr`: crée une pull request au lieu de push vers `main`
97
97
-`branch`: push vers une branche au lieu de push sur `main`
98
98
-`allow_patterns`/`ignore_patterns`: filtre les fichiers à upload
99
99
-`token`
100
100
-`api_endpoint`
101
101
- ...
102
102
103
-
Tous ces paramètres peuvent être ajoutés aux implémentations vues cidessus et passés aux méthodes de `huggingface_hub`.
103
+
Tous ces paramètres peuvent être ajoutés aux implémentations vues ci-dessus et passés aux méthodes de `huggingface_hub`.
104
104
Toutefois, si un paramètre change ou qu'une nouvelle fonctionnalité est ajoutée, vous devrez mettre à jour votre package.
105
105
Supporter ces paramètres implique aussi plus de documentation à maintenir de votre côté. Dans la prochaine section, nous allons voir comment dépasser ces limitations.
106
106
@@ -112,21 +112,21 @@ Vous pouvez implémenter ces méthodes vous-même mais cela a des inconvénients
112
112
un outil qui utilise l'héritage de classe. Regardons comment ça marche !
113
113
114
114
Dans beaucoup de cas, une librairie définit déjà les modèles comme des classes Python. La classe contient les
115
-
propriétés du modèle et des méthodes pour charger, lancer, entrainer et évaluer le modèle. Notre approche est d'étendre
115
+
propriétés du modèle et des méthodes pour charger, lancer, entraîner et évaluer le modèle. Notre approche est d'étendre
116
116
cette classe pour inclure les fonctionnalités upload et download en utilisant les mixins. Une [mixin](https://stackoverflow.com/a/547714)
117
117
est une classe qui est faite pour étendre une classe existante avec une liste de fonctionnalités spécifiques en utilisant l'héritage de classe.
118
118
`huggingface_hub` offre son propre mixin, le [`ModelHubMixin`]. La clef ici est de comprendre son comportement et comment le customiser.
119
119
120
120
La classe [`ModelHubMixin`] implémente 3 méthodes *public* (`push_to_hub`, `save_pretrained` et `from_pretrained`). Ce
121
-
sont les méthodes que vos utilisateurs appeleront pour charger/enregistrer des modèles avec votre librairie.
122
-
[`ModelHubMixin`] définit aussi 2 méthodes *private* (`_save_pretrained` et `from_pretrained`). Ce sont celle que vous
121
+
sont les méthodes que vos utilisateurs appelleront pour charger/enregistrer des modèles avec votre librairie.
122
+
[`ModelHubMixin`] définit aussi 2 méthodes *private* (`_save_pretrained` et `from_pretrained`). Ce sont celles que vous
123
123
devez implémenter. Ainsi, pour intégrer votre librairie, vous devez :
124
124
125
125
1. Faire en sorte que votre classe Model hérite de [`ModelHubMixin`].
126
126
2. Implémenter les méthodes privées:
127
127
-[`~ModelHubMixin._save_pretrained`]: méthode qui prend en entrée un chemin vers un directory et qui sauvegarde le modèle.
128
128
Vous devez écrire toute la logique pour dump votre modèle de cette manière: model card, poids du modèle, fichiers de configuration,
129
-
et logs d'entrainement. Toute information pertinente pour ce modèle doit être gérée par cette méthode. Les
129
+
et logs d'entraînement. Toute information pertinente pour ce modèle doit être gérée par cette méthode. Les
130
130
[model cards](https://huggingface.co/docs/hub/model-cards) sont particulièrement importantes pour décrire votre modèle. Vérifiez
131
131
[notre guide d'implémentation](./model-cards) pour plus de détails.
132
132
-[`~ModelHubMixin._from_pretrained`]: **méthode de classe** prenant en entrée un `model_id` et qui retourne un modèle instancié.
@@ -262,7 +262,7 @@ Et c'est fini ! Votre librairie permet maintenant aux utilisateurs d'upload et d
262
262
## Comparaison
263
263
264
264
Résumons rapidement les deux approches que nous avons vu avec leurs avantages et leurs défauts. Le tableau ci-dessous
265
-
est purement indicatif. Votre framework aura peut-êre des spécifités à prendre en compte. Ce guide
265
+
est purement indicatif. Votre framework aura peut-êre des spécificités à prendre en compte. Ce guide
266
266
est ici pour vous donner des indications et des idées sur comment gérer l'intégration. Dans tous les cas,
267
267
n'hésitez pas à nous contacter si vous avez une question !
268
268
@@ -272,4 +272,4 @@ n'hésitez pas à nous contacter si vous avez une question !
| Flexible | Très flexible.<br>Vous controllez complètement l'implémentation. | Moins flexible.<br>Votre framework doit avoir une classe de modèle. |
274
274
| Maintenance | Plus de maintenance pour ajouter du support pour la configuration, et de nouvelles fonctionnalités. Peut aussi nécessiter de fixx des problèmes signalés par les utilisateurs.| Moins de maintenance vu que la plupart des intégrations avec le Hub sont implémentés dans `huggingface_hub`|
275
-
| Documentation / Anotation de type| A écrire à la main | Géré partiellement par `huggingface_hub`. |
275
+
| Documentation / Anotation de type| A écrire à la main | Géré partiellement par `huggingface_hub`. |
Copy file name to clipboardExpand all lines: docs/source/fr/installation.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ rendered properly in your Markdown viewer.
4
4
5
5
# Installation
6
6
7
-
Avant de commmencer, vous allez avoir besoin de préparer votre environnement
7
+
Avant de commencer, vous allez avoir besoin de préparer votre environnement
8
8
en installant les packages appropriés.
9
9
10
10
`huggingface_hub` est testée sur **Python 3.8+**.
@@ -44,9 +44,9 @@ Une fois l'installation terminée, rendez-vous à la section [vérification](#ve
44
44
### Installation des dépendances optionnelles
45
45
46
46
Certaines dépendances de `huggingface_hub` sont [optionnelles](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies) car elles ne sont pas nécessaire pour faire marcher les fonctionnalités principales de `huggingface_hub`.
47
-
Toutefois, certaines fonctionnalités de `huggingface_hub` ne seront pas disponibles si les dépendancces optionnelles ne sont pas installées
47
+
Toutefois, certaines fonctionnalités de `huggingface_hub` ne seront pas disponibles si les dépendances optionnelles ne sont pas installées
48
48
49
-
Vous pouvez installer des dépendances optionelles via `pip`:
49
+
Vous pouvez installer des dépendances optionnelles via `pip`:
50
50
```bash
51
51
#Installation des dépendances pour les fonctionnalités spécifiques à Tensorflow.
52
52
#/!\ Attention : cette commande n'est pas équivalente à `pip install tensorflow`.
@@ -140,10 +140,10 @@ Task: text-generation
140
140
Afin de démocratiser le machine learning au plus grand nombre, nous avons développé `huggingface_hub`
141
141
de manière cross-platform et en particulier, pour qu'elle fonctionne sur une maximum de systèmes d'exploitation différents. Toutefois
142
142
`huggingface_hub` connaît dans certains cas des limitations sur Windows.
143
-
Nous avons listés ci-dessous les problèmes connus. N'hésitez pas à nous signaler si vous rencontrez un problème
143
+
Nous avons listé ci-dessous les problèmes connus. N'hésitez pas à nous signaler si vous rencontrez un problème
144
144
non documenté en ouvrant une [issue sur Github](https://github.com/huggingface/huggingface_hub/issues/new/choose).
145
145
146
-
- Le cache de `huggingface_hub` a besoin des symlinks pour mettre en cache les fichiers installé depuis le Hub.
146
+
- Le cache de `huggingface_hub` a besoin des symlinks pour mettre en cache les fichiers installés depuis le Hub.
147
147
Sur windows, vous devez activer le mode développeur pour lancer ou lancer votre script en tant qu'administrateur
148
148
afin de faire fonctionner les symlinks. S'ils ne sont pas activés, le système de cache fonctionnera toujours mais
149
149
de manière sous-optimale. Consultez les [limitations du cache](./guides/manage-cache#limitations) pour plus de détails.
0 commit comments