Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump release #371

Merged
merged 210 commits into from
Nov 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
b759479
Chinese - Chapter 1 finished
yaoqih Apr 11, 2022
7db2d4e
Merge branch 'huggingface:main' into main
yaoqih Apr 12, 2022
8ec6fd3
Add zh to the languages field
yaoqih Apr 12, 2022
b931926
Remove untranslated chapters in _toctree.yml
yaoqih Apr 12, 2022
1aa5aa9
Merge branch 'huggingface:main' into main
yaoqih Apr 12, 2022
0778f36
Fixed an error in the translation format
yaoqih Apr 12, 2022
e7100c6
Added a small part of the missing content
yaoqih Apr 12, 2022
0990c77
Fix style
lewtun Apr 13, 2022
cfac53f
Merge remote-tracking branch 'upstream/main'
yaoqih Apr 26, 2022
fa0a047
Complete the translation of Chapters 0 and 2
yaoqih Apr 26, 2022
d65b6e9
Merge remote-tracking branch 'upstream/main'
yaoqih May 3, 2022
cfee90e
Fixed some bugs
yaoqih May 3, 2022
a2705ee
Add files via upload
yaoqih May 6, 2022
e76d10e
Merge branch 'huggingface:main' into main
yaoqih May 6, 2022
5157821
run make style to format chapter1 session3
yaoqih May 6, 2022
7c3c3f5
run make style to format code
yaoqih May 6, 2022
737c180
run make style to format code
yaoqih May 6, 2022
4823c13
Merge branch 'main' into 1375626371/main
lewtun May 12, 2022
15fc232
Fix style
lewtun May 12, 2022
a88b0bb
Chapter 2 Section 1 Bengali Translation (huggingface#72) (#168)
avishek-018 May 16, 2022
2e20395
[TH] Chapter 6 Section 1 and 2 (#171)
meanna May 16, 2022
dee8b18
[FA] CH1 / P1-2 (#142)
schoobani May 16, 2022
1abf819
Spanish Chapter 3: sections 1 & 2 (#162)
fordaz May 16, 2022
e260263
fix typos in bpe, wordpiece, unigram (#166)
KeremTurgutlu May 16, 2022
1781826
[FR] French Review (#186)
lbourdois May 16, 2022
ab803f3
Part 7: Training a causal... fixes (#179)
CakeCrusher May 17, 2022
6c78c3e
[TR] Translated Chapter 1.6 🤗 (#185)
tanersekmen May 17, 2022
1fe96c8
[PT][Chapter 01 - 2.mdx] - issue #51 (#170)
victorescosta May 17, 2022
d19424a
Fix Gradio ToC (#193)
lewtun May 18, 2022
b9548e9
Add Gradio authors and Blocks event (#189)
lewtun May 18, 2022
fbc9823
Update 6.mdx (#188)
couturierc May 18, 2022
af0bfc8
Add translating notes and glossary to Spanish (#192)
fordaz May 19, 2022
04d9444
add pt 4.3 (#191)
johnnv1 May 19, 2022
833ae2d
[FR] Visual corrections (#190)
lbourdois May 19, 2022
8226918
[PT] add chapter 4.4 and 4.5 (#196)
johnnv1 May 19, 2022
b6a2774
fix invite discord link (#197)
johnnv1 May 19, 2022
1302cef
[FA] Second draft of CH2/P1-2 (#139)
jowharshamshiri May 20, 2022
8b786d1
added chapter3 in hindi (#198)
robotjellyzone May 20, 2022
42d2030
[TR] Chapter 3/1 (#165)
Winvoker May 23, 2022
a340c81
[RU] Ch3-1/2/3 (#200)
pdumin May 23, 2022
b09e5fa
[PT] add 5.1 and 5.2 (#204)
johnnv1 May 23, 2022
6febc3e
Merge branch 'main' into prerelease-audio
lewtun May 24, 2022
e55809a
Add placeholders for audio chapters (#208)
lewtun May 24, 2022
3b081e9
[FA] - Ch3 - P1 and P2 (#199)
kambizG May 24, 2022
51a6c9f
[PT] add `end-of-chapter quiz` for chapter 4 (4.6) (#201)
johnnv1 May 24, 2022
751d069
Chapter1: 2.mdx Translated. (#206)
pandyaved98 May 24, 2022
9bf50f0
Remove comments from Persian ToC (#210)
lewtun May 24, 2022
b16fdff
Fix CI URL for PRs (#211)
lewtun May 24, 2022
d32eed6
Merge branch 'main' into prerelease-audio
lewtun May 24, 2022
e069fa0
Merge branch 'prerelease-audio' into add-audio-clf
lewtun May 24, 2022
db51446
code fragment & english syntax and meaning (#203)
CakeCrusher May 25, 2022
ef316d8
Updated Ch1/1 with Emoji (#214)
pandyaved98 May 25, 2022
62a824b
Add missing numpy import (#217)
lewtun May 25, 2022
7967b2b
Merge branch 'add-audio-clf'
yaoqih May 26, 2022
069f7df
Merge branch 'huggingface:main' into main
yaoqih May 26, 2022
7753f6a
Updata chapter3
yaoqih May 26, 2022
5f5c834
Code format for chapter3
yaoqih May 26, 2022
3885ff7
Updata yml file of chapter3
yaoqih May 26, 2022
76c59b2
Uptata yml file of chapter3
yaoqih May 26, 2022
54b4791
Fix yml file bug
yaoqih May 26, 2022
bc296c5
[ES] translate sections 8.1 and 8.2 (#215)
dzarkV May 27, 2022
4de9652
Fix path to datasets (#216)
listenaddress May 27, 2022
8545f05
[PT] add 5.3 (#218)
johnnv1 May 27, 2022
f66182e
fix 4.3 (#223)
johnnv1 May 27, 2022
4f10911
Run make style
yaoqih May 28, 2022
80b0fbd
Fix notebook generation (#227)
lewtun May 30, 2022
d9bef0c
add 5.4 (#226)
johnnv1 May 30, 2022
4052957
add pt wip (#225)
LincolnVS May 30, 2022
feff8a3
Added Gujarati List. (#221)
pandyaved98 May 30, 2022
7692aad
Merge branch 'main' into 1375626371/main
lewtun May 30, 2022
11ff5ec
Fix quality
lewtun May 30, 2022
1d9d9d3
Add Gradio nbs links to fr (#228)
lewtun May 30, 2022
d22cab9
Fix ToC tree
lewtun May 30, 2022
c930f3c
Remove audio templates
lewtun May 30, 2022
7363126
Merge branch 'main' into 1375626371/main
lewtun May 30, 2022
ac4d1b1
Fix fr section
lewtun May 30, 2022
7036ab1
Fix fr chapter
lewtun May 30, 2022
2302e48
Chinese - Chapter 3finished (#219)
yaoqih May 30, 2022
447c789
add ch7 at _toctree and translate 7.1 (#222)
LincolnVS May 30, 2022
52b8883
add 5.5 (#235)
johnnv1 Jun 9, 2022
7f5cc16
[FR] Review of chapter 7 (#233)
lbourdois Jun 9, 2022
4c74259
Italian translation - chapter 4 (#230)
ClonedOne Jun 9, 2022
097edcb
Added Thai translation of chapters 3 (#231)
meanna Jun 9, 2022
6dd7e6c
[Ru] Add part 2, chapter 2 (#234)
svv73 Jun 9, 2022
225c91d
Update 8.mdx (#237)
omerXfaruq Jun 9, 2022
85df4d9
Created HI/Chapter1/5.mdx (#232)
pandyaved98 Jun 14, 2022
e216c2f
Add Spanish chaper3/section4, update toc and glossary (#238)
fordaz Jun 17, 2022
77b3e15
[RU] Chapter 3 finished (#239)
pdumin Jun 17, 2022
3681c50
[PT] add 5.6 and 5.7 (#240)
johnnv1 Jun 17, 2022
9385a66
[EN] Visual corrections (#245)
lbourdois Jun 17, 2022
4b9dab4
Translation for 1/4, 1/5 and 1/6. (#247)
CaterinaBi Jun 17, 2022
e20a766
add event in PT (#250)
johnnv1 Jun 17, 2022
44690a3
Pin version of black (#252)
HiromuHota Jun 19, 2022
16efa44
Translate ja event (#241)
trtd56 Jun 20, 2022
456c608
[PT] add quiz chapter 5 (#243)
johnnv1 Jun 20, 2022
01231a1
Update 5.mdx (#253)
mehrdadnd Jun 20, 2022
3d5c36d
Translation for Traditional Chinese (zh-tw) chapter0 (#251)
thisistz Jun 20, 2022
4ebc0b9
Translated the whole Chapter 3 to Thai (#255)
a-krirk Jun 20, 2022
bd16058
Japanese chapter 4 (#244)
HiromuHota Jun 21, 2022
147496a
Translation of 1/7, 1/8, and 1/9. (#263)
CaterinaBi Jun 27, 2022
71f71e4
[PT] add chapter 8.1 and 8.2 (#265)
johnnv1 Jun 27, 2022
712d3b1
[RU] Chapter 4 (#269)
pdumin Jun 30, 2022
228a218
Add Thai translation for chapter 6.3b to 6.10 (#268)
meanna Jun 30, 2022
89c79d3
add 8.3 (#266)
johnnv1 Jun 30, 2022
a6cb07c
3.mdx of chapter 01 (#260)
victorescosta Jun 30, 2022
f5d6f46
Fix typo (#271)
atgctg Jul 5, 2022
b59a5ec
[PT] add chapter 6.1 (#273)
mdrs-thiago Jul 5, 2022
e46ab85
add Japanese chapter7 (#267)
webbigdata-jp Jul 6, 2022
cd9e36d
Merge branch 'huggingface:main' into main
yaoqih Jul 13, 2022
610d61c
zh-CN - Chapter 4,5finished
yaoqih Jul 13, 2022
d804922
replace `load_metric` with `evaluate.load` (#285)
lvwerra Jul 21, 2022
c34bfad
[GJ] Translation to Gujarati - Ch0 Setup (#287)
bhadreshpsavani Jul 25, 2022
eae6501
[PT] add chapter 6.2 and 6.3 (#279)
mdrs-thiago Jul 25, 2022
1537727
Fix formatting
lewtun Jul 25, 2022
6fed4f7
Merge branch 'main' into 1375626371/main
lewtun Jul 25, 2022
bb26db5
Debug formatting
lewtun Jul 25, 2022
69187a3
Debug FR formatting
lewtun Jul 25, 2022
69accea
zh-CN - Chapter 4,5finished (#281)
yaoqih Jul 25, 2022
be15274
Chapter 01 - Done [PT] #51 (#280)
victorescosta Jul 25, 2022
4656735
tf_default_data_collator seems to have moved
ehrencrona Jul 31, 2022
aebb46e
Merge branch 'huggingface:main' into main
yaoqih Aug 1, 2022
e69fce2
zh-CN - Chapter 6finished
yaoqih Aug 1, 2022
6403eaa
Revert "Merge branch 'huggingface:main' into main"
yaoqih Aug 1, 2022
43fc1f7
Revert "zh-CN - Chapter 6finished"
yaoqih Aug 1, 2022
2bf870d
zh-CN - Chapter 6finished
yaoqih Aug 1, 2022
ef3b87b
fix style
Aug 4, 2022
85f75d7
undo bad commit
Aug 4, 2022
a9b6d48
Merge pull request #289 from ehrencrona/tf_default_data_collator-moved
Rocketknight1 Aug 4, 2022
b4b2316
Merge pull request #290 from 1375626371/main
lvwerra Aug 4, 2022
0ef247f
Chapter5it (#278)
Nolanogenn Aug 15, 2022
8330d44
Vietnamese translation (#293)
honghanhh Aug 22, 2022
9828fd8
Translate JP chapter 8 (#249)
younesbelkada Aug 22, 2022
3d4e591
Italian translation - Chapter 8 (#272)
EdAbati Aug 22, 2022
57115d9
Translation to Vietnamese - chapter 5 (#297)
honghanhh Aug 23, 2022
7a7d48d
Add course contributors (#298)
lewtun Aug 23, 2022
3c6b8bb
Add CourseFloatingBanner component
mishig25 Aug 23, 2022
358f7cc
DocNotebookDropdown -> CourseFloatingBanner
mishig25 Aug 23, 2022
dbe0c28
Merge pull request #301 from huggingface/add_question_banner
mishig25 Aug 31, 2022
d0c1d6a
Italian translation Ch 2/1, 2/2 (#300)
gdacciaro Sep 2, 2022
e2f2597
Add contributors (#304)
lewtun Sep 2, 2022
0c00f58
Add forum button (#306)
lewtun Sep 2, 2022
ececc02
Translate into Vietnamese chap [6-9] - DONE (#303)
honghanhh Sep 2, 2022
8f1ba9a
Italian translation: Chapter 3 (#283)
sharkovsky Sep 2, 2022
2c0b3ba
Enable notebooks to be generated in any language (#311)
lewtun Sep 13, 2022
5536b4a
Generate notebooks for all languages (#313)
lewtun Sep 13, 2022
796f41d
Update notebook links (#312)
lewtun Sep 13, 2022
7a4a051
minor change to avoid confusion in ch2-5 (#310)
daspartho Sep 13, 2022
0b89f2d
Refactor tokenization of targets for transformers v4.22 (#316)
lewtun Sep 19, 2022
bb7fde4
typo fix (#319)
Aravindkumar-Rajendran Sep 23, 2022
611a24e
[FR] Many corrections (#318)
lbourdois Sep 23, 2022
e4a5c2d
Fix URL to the Pile (#324)
lewtun Oct 3, 2022
3b6e294
[RU] ch5 (#317)
pdumin Oct 3, 2022
d7cd693
fix: book url (#323)
buti1021 Oct 3, 2022
1b3e60a
zh-CN - Chapter 7,8,9finished (#315)
yaoqih Oct 4, 2022
2a61a64
Refactor events (#261)
lewtun Oct 4, 2022
4cd2c0e
Fix whole word masking labels (#326)
lewtun Oct 4, 2022
85019bc
Fix question answering indices (#327)
lewtun Oct 4, 2022
32b2bda
Add translation checker (#329)
lewtun Oct 5, 2022
c163e9c
[FR] Refactor events (#330)
lbourdois Oct 5, 2022
288108f
Translation Chapter 4 (#325)
fabridamicelli Oct 5, 2022
304a522
update author list (de) (#331)
fabridamicelli Oct 5, 2022
0ed1969
Fix Russian ToC (#332)
lewtun Oct 5, 2022
9f65007
Refactor dataset upload in Chapter 5 / section 5 (#334)
lewtun Oct 7, 2022
448547b
Fix id2label types (#337)
lewtun Oct 10, 2022
68ca3e8
Fix keywords in de quiz chapter 3 (#338)
JesperDramsch Oct 10, 2022
271ec19
Tweak course validator (#340)
lewtun Oct 12, 2022
b68c438
[Italian] Added Ch2/3 and Ch2/4 (#322)
gdacciaro Oct 12, 2022
6e652fe
Completes chapter 1 (#341)
CaterinaBi Oct 17, 2022
da4f696
Create 5.mdx and translate it into Japanese.
haruki-N Oct 18, 2022
97cd752
Create 6.mdx and translate it into Japanese.
haruki-N Oct 18, 2022
fabab7a
done chapter1.2,1.3
blackdoor571 Oct 21, 2022
2d45514
Create 4.mdx and translate it into Japanese.
haruki-N Oct 23, 2022
cd419a2
Slightly modified
haruki-N Oct 23, 2022
6fcb795
Slightly modified
haruki-N Oct 23, 2022
ca7dd53
Slightly modified
haruki-N Oct 23, 2022
c433132
TF generation fixes (#344)
Rocketknight1 Oct 28, 2022
16e0528
i18n: ES - translate file chapter2/6.mdx (#346)
hereje Oct 28, 2022
be7e245
Typo in russian translation (#349)
vood Oct 28, 2022
fd49e93
Remove translated string (#350)
vood Oct 28, 2022
f5d8039
[It] Ch2/5, Ch2/6, Ch2/7 (#353)
gdacciaro Oct 28, 2022
3d5c446
Add FAQ (#354)
lewtun Oct 28, 2022
d95d89f
i18n: ES - translate file chapter2/7.mdx (#347)
hereje Oct 28, 2022
ed04da0
[id] Add translation to Bahasa Indonesia for chapter0 & some of chapt…
gstdl Oct 28, 2022
fcef635
i18n: ES - chapter2/8.mdx (#352)
hereje Oct 28, 2022
e1c9aa3
Update 4.mdx based on the advice.
haruki-N Nov 1, 2022
e044813
[de] Translation Chapter 1 (#336)
MarcusFra Nov 1, 2022
1bab3b7
Update 1.mdx (#356)
cakiki Nov 2, 2022
d12ccdb
Update 1.mdx (#357)
cakiki Nov 2, 2022
97f072e
removed original english texts to open pull request
haruki-N Nov 3, 2022
fed8595
removed original english texts to open pull request
haruki-N Nov 3, 2022
7d07be8
removed original english texts to open pull request
haruki-N Nov 3, 2022
9b42858
add lines for chap1/4 to 6
haruki-N Nov 3, 2022
6a1edd9
Slightly modified
haruki-N Nov 3, 2022
3b6de2b
modify 2.mdx, 3.mdx
blackdoor571 Nov 4, 2022
5f2493a
modify _toctree.yml
blackdoor571 Nov 4, 2022
44f77be
Update pr docs actions (#369)
mishig25 Nov 8, 2022
db20ca5
Add Python syntax highlighting (#370)
davidgilbertson Nov 9, 2022
36b44d1
[FR] Add FAQ and more (#367)
lbourdois Nov 9, 2022
531e3f0
[RU] Chapter 6 (1/2) finished (#368)
pdumin Nov 9, 2022
fe38085
Spanish translation of Chapter 5 (#366)
camartinezbu Nov 9, 2022
972bcd2
Add Japanese trasnlation of chapter 1/ 7 to 10 (#359)
hiro819 Nov 10, 2022
a44a66a
Adding Portuguese Translation to Chapter3 (#361)
Cesar0106 Nov 10, 2022
f7fa7fa
Merge branch 'main' into main
younesbelkada Nov 10, 2022
d3ba0d8
Merge branch 'main' into main
younesbelkada Nov 10, 2022
7a365f3
make style
younesbelkada Nov 10, 2022
eeab1f0
Merge pull request #360 from haruki-N/main
younesbelkada Nov 10, 2022
e8fce4c
Merge branch 'main' into main
younesbelkada Nov 10, 2022
7081ab6
Merge pull request #363 from blackdoor571/main
younesbelkada Nov 10, 2022
bde9ef4
Typo in Chapter 2, Section 2 (#364)
filippo82 Nov 11, 2022
b2876ee
Merge branch 'release' into bump_release
lewtun Nov 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build_pr_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ concurrency:

jobs:
build:
uses: huggingface/doc-builder/.github/workflows/build_pr_documentation.yml@main
uses: huggingface/doc-builder/.github/workflows/build_pr_documentation.yml@use_hf_hub
with:
commit_sha: ${{ github.event.pull_request.head.sha }}
pr_number: ${{ github.event.number }}
Expand All @@ -18,3 +18,6 @@ jobs:
additional_args: --not_python_module
languages: ar bn de en es fa fr gj he hi id it ja ko pt ru th tr vi zh-CN zh-TW
hub_base_path: https://moon-ci-docs.huggingface.co
secrets:
token: ${{ secrets.HF_DOC_PUSH }}
comment_bot_token: ${{ secrets.HUGGINGFACE_PUSH }}
7 changes: 5 additions & 2 deletions .github/workflows/delete_doc_comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ on:

jobs:
delete:
uses: huggingface/doc-builder/.github/workflows/delete_doc_comment.yml@main
uses: huggingface/doc-builder/.github/workflows/delete_doc_comment.yml@use_hf_hub
with:
pr_number: ${{ github.event.number }}
package: course
package: course
secrets:
token: ${{ secrets.HF_DOC_PUSH }}
comment_bot_token: ${{ secrets.HUGGINGFACE_PUSH }}
2 changes: 1 addition & 1 deletion chapters/en/chapter2/2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ outputs = model(inputs)
```
{/if}

Now if we look at the shape of our inputs, the dimensionality will be much lower: the model head takes as input the high-dimensional vectors we saw before, and outputs vectors containing two values (one per label):
Now if we look at the shape of our outputs, the dimensionality will be much lower: the model head takes as input the high-dimensional vectors we saw before, and outputs vectors containing two values (one per label):

```python
print(outputs.logits.shape)
Expand Down
2 changes: 1 addition & 1 deletion chapters/en/chapter3/3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ trainer = Trainer(

Note that we create a new `TrainingArguments` with its `evaluation_strategy` set to `"epoch"` and a new model — otherwise, we would just be continuing the training of the model we have already trained. To launch a new training run, we execute:

```
```py
trainer.train()
```

Expand Down
20 changes: 20 additions & 0 deletions chapters/es/_toctree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,26 @@
- local: chapter3/4
title: Entrenamiento completo

- title: 5. La librería 🤗 Datasets
sections:
- local: chapter5/1
title: Introducción
- local: chapter5/2
title: ¿Y si mi dataset no está en el Hub?
- local: chapter5/3
title: Es momento de subdividir
- local: chapter5/4
title: ¿Big data? 🤗 ¡Datasets al rescate!
- local: chapter5/5
title: Crea tu propio dataset
- local: chapter5/6
title: Búsqueda semántica con FAISS
- local: chapter5/7
title: 🤗 Datasets, ¡listo!
- local: chapter5/8
title: Quiz
quiz: 5

- title: 8. ¿Cómo solicitar ayuda?
sections:
- local: chapter8/1
Expand Down
22 changes: 22 additions & 0 deletions chapters/es/chapter5/1.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Introducción

<CourseFloatingBanner
chapter={5}
classNames="absolute z-10 right-0 top-0"
/>

En el [Capítulo 3](/course/chapter3) tuviste tu primer acercamento a la librería 🤗 Datasets y viste que existían 3 pasos principales para ajustar un modelo:

1. Cargar un conjunto de datos del Hub de Hugging Face.
2. Preprocesar los datos con `Dataset.map()`.
3. Cargar y calcular métricas.

¡Esto es apenas el principio de lo que 🤗 Datasets puede hacer! En este capítulo vamos a estudiar a profundidad esta librería y responderemos las siguientes preguntas:

* ¿Qué hacer cuando tu dataset no está en el Hub?
* ¿Cómo puedes subdividir tu dataset? (¿Y qué hacer si _realmente_ necesitas usar Pandas?)
* ¿Qué hacer cuando tu dataset es enorme y consume toda la RAM de tu computador?
* ¿Qué es la proyección en memoria (_memory mapping_) y Apache Arrow?
* ¿Cómo puedes crear tu propio dataset y subirlo al Hub?

Las técnicas que aprenderás aquí te van a preparar para las tareas de _tokenización_ avanzada y ajuste que verás en el [Capítulo 6](/course/chapter6) y el [Capítulo 7](/course/chapter7). ¡Así que ve por un café y arranquemos!
166 changes: 166 additions & 0 deletions chapters/es/chapter5/2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
# ¿Y si mi dataset no está en el Hub?

<CourseFloatingBanner chapter={5}
classNames="absolute z-10 right-0 top-0"
notebooks={[
{label: "Google Colab", value: "https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter5/section2.ipynb"},
{label: "Aws Studio", value: "https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter5/section2.ipynb"},
]} />

Ya sabes cómo usar el [Hub de Hugging Face](https://huggingface.co/datasets) para descargar datasets, pero usualmente vas a tener que trabajar con datos que están guardados en tu computador o en un servidor remoto. En esta sección te mostraremos cómo usar 🤗 Datasets para cargar conjuntos de datos que no están disponibles en el Hub de Hugging Face.

<Youtube id="HyQgpJTkRdE"/>

## Trabajando con datos locales y remotos

🤗 Datasets contiene scripts para cargar datasets locales y remotos que soportan formatos comunes de datos como:

| Formato de datos | Script de carga | Ejemplo |
| :----------------: | :------------: | :-----------------------------------------------------: |
| CSV y TSV | `csv` | `load_dataset("csv", data_files="my_file.csv")` |
| Archivos de texto | `text` | `load_dataset("text", data_files="my_file.txt")` |
| JSON y JSON Lines | `json` | `load_dataset("json", data_files="my_file.jsonl")` |
| Pickled DataFrames | `pandas` | `load_dataset("pandas", data_files="my_dataframe.pkl")` |

Como ves en la tabla, para cada formato de datos solo tenemos que especificar el tipo de script de carga en la función `load_dataset()`, así como el argumento `data_files` que contiene la ruta a uno o más archivos. Comencemos por cargar un dataset desde archivos locales y luego veremos cómo hacer lo propio para archivos remotos.

## Cargando un dataset local

Para este ejemplo, vamos a usar el [dataset SQuAD-it], que es un dataset de gran escala para responder preguntas en italiano.

Los conjuntos de entrenamiento y de prueba están alojados en GitHub, así que podemos descargarlos fácilmente con el comando `wget`:

```python
!wget https://github.com/crux82/squad-it/raw/master/SQuAD_it-train.json.gz
!wget https://github.com/crux82/squad-it/raw/master/SQuAD_it-test.json.gz
```

Esto va a descargar dos archivos comprimidos llamados *SQuAD_it-train.json.gz* y *SQuAD_it-test.json.gz*, que podemos descomprimir con el comando `gzip` de Linux:

```python
!gzip -dkv SQuAD_it-*.json.gz
```

```bash
SQuAD_it-test.json.gz: 87.4% -- replaced with SQuAD_it-test.json
SQuAD_it-train.json.gz: 82.2% -- replaced with SQuAD_it-train.json
```

De este modo, podemos ver que los archivos comprimidos son reemplazados por los archuvos en formato JSON _SQuAD_it-train.json_ y _SQuAD_it-test.json_.

<Tip>

✎ Si te preguntas por qué hay un caracter de signo de admiración (`!`) en los comandos de shell, esto es porque los estamos ejecutando desde un cuaderno de Jupyter. Si quieres descargar y descomprimir el archivo directamente desde la terminal, elimina el signo de admiración.

</Tip>

Para cargar un archivo JSON con la función `load_dataset()`, necesitamos saber si estamos trabajando con un archivo JSON ordinario (parecido a un diccionario anidado) o con JSON Lines (JSON separado por líneas). Como muchos de los datasets de respuesta a preguntas que te vas a encontrar, SQuAD-it usa el formato anidado, en el que el texto está almacenado en un campo `data`. Esto significa que podemos cargar el dataset especificando el argumento `field` de la siguiente manera:

```py
from datasets import load_dataset

squad_it_dataset = load_dataset("json", data_files="SQuAD_it-train.json", field="data")
```

Por defecto, cuando cargas archivos locales se crea un objeto `DatasetDict` con un conjunto de entrenamiento –`train`–. Podemos verlo al inspeccionar el objeto `squad_it_dataset`:

```py
squad_it_dataset
```

```python out
DatasetDict({
train: Dataset({
features: ['title', 'paragraphs'],
num_rows: 442
})
})
```

Esto nos muestra el número de filas y los nombres de las columnas asociadas al conjunto de entrenamiento. Podemos ver uno de los ejemplos al poner un índice en el conjunto de entrenamiento así:

```py
squad_it_dataset["train"][0]
```

```python out
{
"title": "Terremoto del Sichuan del 2008",
"paragraphs": [
{
"context": "Il terremoto del Sichuan del 2008 o il terremoto...",
"qas": [
{
"answers": [{"answer_start": 29, "text": "2008"}],
"id": "56cdca7862d2951400fa6826",
"question": "In quale anno si è verificato il terremoto nel Sichuan?",
},
...
],
},
...
],
}
```

¡Genial, ya cargamos nuestro primer dataset local! Sin embargo, esto funcionó únicamente para el conjunto de entrenamiento. Realmente, queremos incluir tanto el conjunto `train` como el conjunto `test` en un único objeto `DatasetDict` para poder aplicar las funciones `Dataset.map()` en ambos conjuntos al mismo tiempo. Para hacerlo, podemos incluir un diccionario en el argumento `datafiles` que mapea cada nombre de conjunto a su archivo asociado:


```py
data_files = {"train": "SQuAD_it-train.json", "test": "SQuAD_it-test.json"}
squad_it_dataset = load_dataset("json", data_files=data_files, field="data")
squad_it_dataset
```

```python out
DatasetDict({
train: Dataset({
features: ['title', 'paragraphs'],
num_rows: 442
})
test: Dataset({
features: ['title', 'paragraphs'],
num_rows: 48
})
})
```

Esto es exactamente lo que queríamos. Ahora podemos aplicar varias técnicas de preprocesamiento para limpiar los datos, _tokenizar_ las reseñas, entre otras tareas.

<Tip>

El argumento `data_files` de la función `load_dataset()` es muy flexible. Puede ser una única ruta de archivo, una lista de rutas o un diccionario que mapee los nombres de los conjuntos a las rutas de archivo. También puedes buscar archivos que cumplan con cierto patrón específico de acuerdo con las reglas usadas por el shell de Unix (e.g., puedes buscar todos los archivos JSON en una carpeta al definir `datafiles="*.json"`). Revisa la [documentación](https://huggingface.co/docs/datasets/loading.html#local-and-remote-files) para más detalles.

</Tip>

Los scripts de carga en 🤗 Datasets también pueden descomprimir los archivos de entrada automáticamente, así que podemos saltarnos el uso de `gzip` especificando el argumento `data_files` directamente a la ruta de los archivos comprimidos.

```py
data_files = {"train": "SQuAD_it-train.json.gz", "test": "SQuAD_it-test.json.gz"}
squad_it_dataset = load_dataset("json", data_files=data_files, field="data")
```

Esto puede ser útil si no quieres descomprimir manualmente muchos archivos GZIP. La descompresión automática también aplica para otros formatos de archivo comunes como TAR y ZIP, así que solo necesitas dirigir el argumento `data_files` a los archivos comprimidos y ¡listo!.

Ahora que sabes cómo cargar archivos locales en tu computador portátil o de escritorio, veamos cómo cargar archivos remotos.

## Cargando un dataset remoto

Si estás trabajando como científico de datos o desarrollador en una compañía, hay una alta probabilidad de que los datasets que quieres analizar estén almacenados en un servidor remoto. Afortunadamente, ¡la carga de archivos remotos es tan fácil como cargar archivos locales! En vez de incluir una ruta de archivo, dirigimos el argumento `data_files` de la función `load_datasets()` a una o más URL en las que estén almacenados los archivos. Por ejemplo, para el dataset SQuAD-it alojado en GitHub, podemos apuntar `data_files` a las URL de _SQuAD_it-*.json.gz_ así:

```py
url = "https://github.com/crux82/squad-it/raw/master/"
data_files = {
"train": url + "SQuAD_it-train.json.gz",
"test": url + "SQuAD_it-test.json.gz",
}
squad_it_dataset = load_dataset("json", data_files=data_files, field="data")
```

Esto devuelve el mismo objeto `DatasetDict` que obtuvimos antes, pero nos ahorra el paso de descargar y descomprimir manualmente los archivos _SQuAD_it-*.json.gz_. Con esto concluimos nuestra exploración de las diferentes maneras de cargar datasets que no están alojados en el Hub de Hugging Face. Ahora que tenemos un dataset para experimentar, ¡pongámonos manos a la obra con diferentes técnicas de procesamiento de datos!

<Tip>

✏️ **¡Inténtalo!** Escoge otro dataset alojado en GitHub o en el [Repositorio de Machine Learning de UCI](https://archive.ics.uci.edu/ml/index.php) e intenta cargarlo local y remotamente usando las técnicas descritas con anterioridad. Para puntos extra, intenta cargar un dataset que esté guardado en un formato CSV o de texto (revisa la [documentación](https://huggingface.co/docs/datasets/loading.html#local-and-remote-files) pata tener más información sobre estos formatos).

</Tip>
Loading