Skip to content

Commit 07afd86

Browse files
committed
fix index
1 parent 065bd8b commit 07afd86

File tree

5 files changed

+30
-19
lines changed

5 files changed

+30
-19
lines changed

_doc/i_index.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ En diagonal
1212
api/index
1313
i_ex
1414
i_faq
15+
genindex
16+
modindex
17+
search

_doc/practice/ml/pretraitement_image.ipynb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,12 @@
195195
"source": [
196196
"from PIL import Image\n",
197197
"import numpy as np\n",
198-
"from transformers import AutoImageProcessor, MobileNetV2Model\n",
198+
"from transformers import (\n",
199+
" AutoImageProcessor,\n",
200+
" MobileNetV2Model,\n",
201+
" AutoFeatureExtractor,\n",
202+
" AutoModel,\n",
203+
")\n",
199204
"\n",
200205
"# Charger un modèle léger (ResNet)\n",
201206
"MODEL_NAME = \"google/mobilenet_v2_1.0_224\"\n",

_doc/practice/ml/pretraitement_son.ipynb

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
"\n",
135135
"Cette méthode s'apparente à une [transfer learning](https://en.wikipedia.org/wiki/Transfer_learning). Quand on dispose de peu de données, il est difficile d'apprendre un modèle performant sur des données complexes type image ou son. En revanche, on peut utiliser la sortie d'un modèle appris sur des grandes quantité de données et les utiliser comme feature. On parle d' *embedding*.\n",
136136
"\n",
137-
"Le package [transformers](https://huggingface.co/docs/transformers/en/index) offre plein de modèle de traitement de son, reconnaissance de la parole et autres traitements, il faut choisir un modèle qui s'approche de la tâche à réaliser par la suite. L'exemple suivant considère un petit modèle [distil-wav2vec2](https://huggingface.co/OthmaneJ/distil-wav2vec2) et transcrit le son en mots. Ce n'est pas le plus performant car c'est un petit modèle. On peut utiliser comme features la sortie du préprocesseur, celle du modèle... Tout dépend de ce qui suit."
137+
"Le package [transformers](https://huggingface.co/docs/transformers/en/index) offre plein de modèle de traitement de son, reconnaissance de la parole et autres traitements, il faut choisir un modèle qui s'approche de la tâche à réaliser par la suite. L'exemple suivant considère un petit modèle [openai/whisper-tiny](https://huggingface.co/openai/whisper-tiny) et transcrit le son en mots. Ce n'est pas le plus performant car c'est un petit modèle. On peut utiliser comme features la sortie du préprocesseur, celle du modèle... Tout dépend de ce qui suit."
138138
]
139139
},
140140
{
@@ -267,18 +267,6 @@
267267
"display_name": "Python 3 (ipykernel)",
268268
"language": "python",
269269
"name": "python3"
270-
},
271-
"language_info": {
272-
"codemirror_mode": {
273-
"name": "ipython",
274-
"version": 3
275-
},
276-
"file_extension": ".py",
277-
"mimetype": "text/x-python",
278-
"name": "python",
279-
"nbconvert_exporter": "python",
280-
"pygments_lexer": "ipython3",
281-
"version": "3.12.8"
282270
}
283271
},
284272
"nbformat": 4,

_doc/practice/ml/pretraitement_texte.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"cell_type": "markdown",
1414
"metadata": {},
1515
"source": [
16-
"## Bog of Words\n",
16+
"## Bag of Words\n",
1717
"\n",
1818
"C'est le début de tout. La première étape consiste à découper un texte en token (caractères, mots, ...). Le plus souvent, c'est en mot. Chaque mot reçoit un identifiant. Une phrase est transformée en une liste d'entiers.\n",
1919
"\n",
@@ -235,7 +235,7 @@
235235
"\n",
236236
"Au final, il s'agit de compresser des phrases dans un espace vectoriel numérique. Plus on a de texte, plus on peut apprendre des compressions efficaces. Le deep learning, la puissance de calcul vient à la rescousse. Une approche populaire est [word2vec](https://towardsdatascience.com/word2vec-with-pytorch-implementing-original-paper-2cd7040120b0/). Un autre package [textblob](https://textblob.readthedocs.io/en/dev/) propose d'enrichir les phrases en taggant les mots (nom, verbe, ...). Il y a aussi [spacy](https://spacy.io/), [NLTK](https://www.nltk.org/).\n",
237237
"\n",
238-
"Le plus efficace est sans doute d'utiliser un modèle de deep learning entraîné à faire une tâche proche du problème de prédiction à résoudre."
238+
"Le plus efficace est sans doute d'utiliser un modèle de deep learning entraîné à faire une tâche proche du problème de prédiction à résoudre. L'exemple suivant s'appuie sur le modèle [google/bert_uncased_L-2_H-128_A-2)](https://huggingface.co/google/bert_uncased_L-2_H-128_A-2)."
239239
]
240240
},
241241
{

_unittests/ut_xrun_doc/test_documentation_notebook.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import os
33
import sys
44
import importlib
5+
import shutil
56
import subprocess
67
import time
78
import warnings
@@ -26,6 +27,8 @@ def import_source(module_file_path, module_name):
2627

2728

2829
class TestDocumentationNotebook(ExtTestCase):
30+
_tmp = "temp_notebooks"
31+
2932
def post_process(self, content):
3033
lines = []
3134
for line in content.split("\n"):
@@ -48,7 +51,7 @@ def run_test(self, nb_name: str, verbose=0) -> int:
4851
content = self.post_process(exporter.from_filename(nb_name)[0])
4952
bcontent = content.encode("utf-8")
5053

51-
tmp = "temp_notebooks"
54+
tmp = self._tmp
5255
if not os.path.exists(tmp):
5356
os.mkdir(tmp)
5457
# with tempfile.NamedTemporaryFile(suffix=".py") as tmp:
@@ -92,7 +95,16 @@ def run_test(self, nb_name: str, verbose=0) -> int:
9295
return 1
9396

9497
@classmethod
95-
def add_test_methods_path(cls, fold):
98+
def add_test_methods_path(cls, fold, copy_folder=None):
99+
if copy_folder:
100+
full_path = os.path.join(fold, copy_folder)
101+
assert os.path.exists(full_path), f"Unable to find {full_path!r}"
102+
dest = copy_folder
103+
if not os.path.exists(dest):
104+
os.makedirs(dest)
105+
for name in os.listdir(full_path):
106+
shutil.copy(os.path.join(full_path, name), dest)
107+
96108
found = os.listdir(fold)
97109
last = os.path.split(fold)[-1]
98110
for name in found:
@@ -160,7 +172,10 @@ def add_test_methods(cls):
160172
os.path.join(this, "..", "..", "_doc", "practice", "years", "2023"),
161173
]
162174
for fold in folds:
163-
cls.add_test_methods_path(os.path.normpath(fold))
175+
cls.add_test_methods_path(
176+
os.path.normpath(fold),
177+
copy_folder="images" if fold.endswith("ml") else None,
178+
)
164179

165180

166181
TestDocumentationNotebook.add_test_methods()

0 commit comments

Comments
 (0)