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 #299

Merged
merged 135 commits into from
Aug 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 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
208d531
Merge branch 'release' into bump_release
lewtun Aug 23, 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
46 changes: 46 additions & 0 deletions chapters/vi/_toctree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,52 @@
title: Đố vui cuối chương
quiz: 4

- title: 5. Thư viện 🤗 Datasets
sections:
- local: chapter5/1
title: Giới thiệu
- local: chapter5/2
title: Nếu như dữ liệu của ta không trên Hub thì sao?
- local: chapter5/3
title: Sắp xếp dữ liệu
- local: chapter5/4
title: Dữ liệu lớn? 🤗 Bộ dữ liệu để giải cứu!
- local: chapter5/5
title: Tạo tập dữ liệu của riêng bạn
- local: chapter5/6
title: Tìm kiếm ngữ nghĩa với FAISS
- local: chapter5/7
title: 🤗 Datasets, kiểm tra nào!
- local: chapter5/8
title: Đố vui cuối chương
quiz: 5

- title: 6. Thư viện 🤗 Tokenizers
sections:
- local: chapter6/1
title: Giới thiệu
- local: chapter6/2
title: Huấn luyện một tokenizer mới từ cái cũ
- local: chapter6/3
title: Sức mạnh đặc biệt của tokenizer nhanh
- local: chapter6/3b
title: Tokenizer nhanh trong pipeline QA
- local: chapter6/4
title: Chuẩn hoá và tiền tokenize
- local: chapter6/5
title: Byte-Pair Encoding tokenization
- local: chapter6/6
title: WordPiece tokenization
- local: chapter6/7
title: Unigram tokenization
- local: chapter6/8
title: Xây dựng từng khối tokenizer
- local: chapter6/9
title: Tokenizers, kiểm tra nào!
- local: chapter6/10
title: Đố vui cuối chương
quiz: 6

- title: Sự kiện Khoá học Hugging Face
sections:
- local: event/1
Expand Down
17 changes: 17 additions & 0 deletions chapters/vi/chapter5/1.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Giới thiệu

Trong [Chương 3](/course/chapter3), bạn sẽ lần đầu được trải nghiệm thư viện 🤗 Datasets và thấy rằng có ba bước chính khi tinh chỉnh một mô hình:

1. Tải tập dữ liệu từ Hugging Face Hub.
2. Tiền xử lý dữ liệu với `Dataset.map()`.
3. Tải và tính toán các chỉ số.

Nhưng đây chỉ là bề nổi của những gì 🤗 Datasets có thể làm! Trong chương này, chúng ta sẽ đi sâu vào thư viện. Trong hành trình này, chúng ta sẽ tìm câu trả lời cho những câu hỏi sau:

* Bạn làm gì khi bộ dữ liệu của bạn không có trên Hub?
* Làm thế nào bạn có thể chia một bộ dữ liệu? (Và điều gì sẽ xảy ra nếu bạn _thực sự_ cần sử dụng Pandas?)
* Bạn sẽ làm gì khi bộ dữ liệu của bạn rất lớn và sẽ làm tràn RAM của máy tính xách tay của bạn?
* "Bản đồ bộ nhớ" và Apache Arrow là cái quái gì vậy?
* Làm cách nào bạn có thể tạo bộ dữ liệu của riêng mình và đẩy nó lên Hub?

Các kỹ thuật bạn học được ở đây sẽ giúp bạn chuẩn bị cho các tác vụ tinh chỉnh và tokenize nâng cao trong [Chương 6](/course/chapter6) và [Chương 7](/course/chapter7) - vì vậy hãy uống một ly cà phê và bắt đầu thôi!
165 changes: 165 additions & 0 deletions chapters/vi/chapter5/2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# Nếu như dữ liệu của ta không trên Hub thì sao?

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

Bạn biết cách sử dụng [Hugging Face Hub](https://huggingface.co/datasets) để tải xuống bộ dữ liệu, nhưng bạn sẽ thấy mình thường làm việc với dữ liệu được lưu trữ trên máy tính xách tay hoặc trên máy chủ từ xa. Trong phần này, chúng tôi sẽ chỉ cho bạn cách 🤗 Datasets có thể được sử dụng để tải các tập dữ liệu không có sẵn trên Hugging Face Hub.

<Youtube id="HyQgpJTkRdE"/>

## Làm việc với bộ dữ liệu cục bộ và từ xa

🤗 Datasets cung cấp các tập lệnh để xử lý việc tải các tập dữ liệu cục bộ và từ xa. Nó hỗ trợ một số định dạng dữ liệu phổ biến, chẳng hạn như:

| Định dạng dữ liệu |
Tập lệnh | Ví dụ |
| :----------------: | :------------: | :-----------------------------------------------------: |
| CSV & TSV | `csv` | `load_dataset("csv", data_files="my_file.csv")` |
| Text files | `text` | `load_dataset("text", data_files="my_file.txt")` |
| JSON & JSON Lines | `json` | `load_dataset("json", data_files="my_file.jsonl")` |
| Pickled DataFrames | `pandas` | `load_dataset("pandas", data_files="my_dataframe.pkl")` |

Như được hiển thị trong bảng, đối với mỗi định dạng dữ liệu, chúng ta chỉ cần chỉ định loại tập lệnh tải dữ liệu trong hàm `load_dataset()`, cùng với tham số `data_files` chỉ định đường dẫn đến một hoặc nhiều tệp. Hãy bắt đầu bằng cách tải một tập dữ liệu từ các tệp cục bộ; Sau đó, chúng ta sẽ xem cách thực hiện tương tự với các tệp từ xa.

## Tải tập dữ liệu cục bộ

Đối với ví dụ này, chúng ta sẽ sử dụng [bộ dữ liệu SQuAD-it](https://github.com/crux82/squad-it/), là một tập dữ liệu quy mô lớn cho tác vụ hỏi đáp bằng tiếng Ý.

Phần dữ liệu huấn luyện và kiểm thử được lưu trữ trên GitHub, vì vậy chúng tôi có thể tải chúng xuống bằng lệnh `wget` đơn giản:

```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
```

Thao tác này sẽ tải xuống hai tệp nén có tên *SQuAD_it-train.json.gz* và *SQuAD_it-test.json.gz*, chúng ta có thể giải nén bằng lệnh Linux `gzip`:

```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
```

Chúng ta có thể thấy rằng các tệp nén đã được thay thế bằng _SQuAD_it-train.json_ và _SQuAD_it-text.json_, và dữ liệu được lưu trữ ở định dạng JSON.

<Tip>

✎ Nếu bạn đang thắc mắc tại sao lại có ký tự`!` trong các lệnh trên, đó là bởi vì chúng ta đang chạy chúng trong một sổ ghi chép Jupyter. Chỉ cần xóa tiền tố này nếu bạn muốn tải xuống và giải nén tập dữ liệu trên terminal.

</Tip>

Để tải tệp JSON bằng hàm `load_dataset()`, chúng ta chỉ cần biết liệu chúng ta đang xử lý JSON thông thường (tương tự như từ điển lồng nhau) hay JSON dòng (JSON được phân tách bằng dòng). Giống như nhiều bộ dữ liệu hỏi đáp, SQuAD-it sử dụng định dạng lồng nhau, với tất cả văn bản được lưu trữ trong trường `data`. Điều này có nghĩa là chúng ta có thể tải tập dữ liệu bằng cách chỉ định tham số `field` như sau:

```py
from datasets import load_dataset

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

Theo mặc định, việc tải các tệp cục bộ sẽ tạo ra một đối tượng `DatasetDict` với sự phân chia của `train`. Chúng ta có thể thấy điều này bằng cách kiểm tra đối tượng `squad_it_dataset`:

```py
squad_it_dataset
```

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

Điều này cho chúng ta thấy số hàng và cột được liên kết với tập huấn luyện. Chúng ta có thể xem một trong các ví dụ bằng cách lập chỉ mục vào phần tập `train` như sau:

```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?",
},
...
],
},
...
],
}
```

Tuyệt, chúng ta đã tải tập dữ liệu cục bộ đầu tiên của mình! Nhưng trong khi điều này hoạt động cho tập huấn luyện, những gì chúng tôi thực sự muốn là bao gồm cả hai tập `train` và `test` trong một đối tượng `DatasetDict` duy nhất để ta có thể áp dụng `Dataset.map()` trên cả hai phần dữ liệu cùng một lúc. Để thực hiện việc này, chúng ta có thể cung cấp một từ điển cho tham số `data_files` ánh xạ từng tên phần dữ liệu với một tệp được liên kết với các phần đó:

```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
})
})
```
Đây chính xác là những gì chúng ta muốn. Giờ đây, ta có thể áp dụng nhiều kỹ thuật tiền xử lý khác nhau để làm sạch dữ liệu, mã hóa các bài đánh giá, v.v.

<Tip>

Tham số `data_files` của hàm `load_dataset()` khá linh hoạt và có thể là một đường dẫn tệp duy nhất, danh sách các đường dẫn tệp hoặc từ điển ánh xạ các tên tách thành đường dẫn tệp. Bạn cũng có thể tập hợp các tệp phù hợp với một mẫu được chỉ định theo các quy tắc được sử dụng bởi Unix shell (ví dụ: bạn có thể tổng hợp tất cả các tệp JSON trong một thư mục dưới dạng một lần tách duy nhất bằng cách đặt `data_files="*.json"`). Xem [tài liệu](https://huggingface.co/docs/datasets/loading.html#local-and-remote-files) 🤗 Datasets để biết thêm chi tiết.

</Tip>

Các tập lệnh tải trong 🤗 Datasets thực sự hỗ trợ giải nén tự động các tệp đầu vào, vì vậy chúng ta có thể bỏ qua việc sử dụng `gzip` bằng cách trỏ trực tiếp tham số `data_files` vào các tệp nén:

```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")
```

Điều này có thể hữu ích nếu bạn không muốn giải nén nhiều tệp GZIP theo cách thủ công. Tính năng giải nén tự động cũng áp dụng cho các định dạng phổ biến khác như ZIP và TAR, vì vậy bạn chỉ cần trỏ `data_files` đến các tệp nén và bạn đã sẵn sàng rồi!

Bây giờ bạn đã biết cách tải các tệp cục bộ trên máy tính xách tay hoặc máy tính để bàn của mình, hãy cùng xem cách tải các tệp từ xa.

## Tải tập dữ liệu từ xa

Nếu bạn đang làm việc với tư cách là nhà khoa học dữ liệu hoặc lập trình viên trong một công ty, thì rất có thể các bộ dữ liệu bạn muốn phân tích được lưu trữ trên một máy chủ từ xa nào đó. May mắn thay, việc tải các tệp từ xa cũng đơn giản như tải các tệp cục bộ! Thay vì cung cấp một đường dẫn đến các tệp cục bộ, chúng ta trỏ tham số `data_files` của `load_dataset()` đến một hoặc nhiều URL nơi các tệp từ xa được lưu trữ. Ví dụ: đối với tập dữ liệu SQuAD-it được lưu trữ trên GitHub, chúng ta chỉ cần trỏ `data_files` đến các URL _SQuAD_it-*.json.gz_ như sau:

```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")
```

Điều này trả về cùng một đối tượng `DatasetDict` như ở trên, nhưng giúp ta tiết kiệm bước tải xuống và giải nén thủ công các tệp _SQuAD_it-*.json.gz_. Điều này tổng kết bước đột phá của chúng ta vào các cách khác nhau để tải các tập dữ liệu không được lưu trữ trên Hugging Face Hub. Giờ ta đã có một tập dữ liệu để nghịch, hãy bắt tay vào các kỹ thuật sắp xếp dữ liệu khác nhau thôi!

<Tip>

✏️ **Thử nghiệm thôi!** Chọn một tập dữ liệu khác được lưu trữ trên GitHub hoặc [Kho lưu trữ Học Máy UCI](https://archive.ics.uci.edu/ml/index.php) và thử tải nó cả cục bộ và từ xa bằng cách sử dụng các kỹ thuật đã giới thiệu ở trên. Để có điểm thưởng, hãy thử tải tập dữ liệu được lưu trữ ở định dạng CSV hoặc dạng văn bản (xem [tài liệu](https://huggingface.co/docs/datasets/loading.html#local-and-remote-files) để biết thêm thông tin trên các định dạng này).

</Tip>
Loading