From 8494538e30328008805b673f282f78a0639d4c77 Mon Sep 17 00:00:00 2001 From: sergiopaniego Date: Fri, 13 Sep 2024 10:42:10 +0200 Subject: [PATCH] Removed unclosed code block --- chapters/zh-TW/chapter3/2.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapters/zh-TW/chapter3/2.mdx b/chapters/zh-TW/chapter3/2.mdx index 5dd10b0a0..29a2e91a8 100644 --- a/chapters/zh-TW/chapter3/2.mdx +++ b/chapters/zh-TW/chapter3/2.mdx @@ -283,6 +283,7 @@ DatasetDict({ {#if fw === 'pt'} + 負責在批處理中將數據整理為一個batch的函數稱為*collate函數*。它是你可以在構建**DataLoader**時傳遞的一個參數,默認是一個函數,它將把你的數據集轉換為PyTorch張量,並將它們拼接起來(如果你的元素是列表、元組或字典,則會使用遞歸)。這在我們的這個例子中下是不可行的,因為我們的輸入不是都是相同大小的。我們故意在之後每個batch上進行填充,避免有太多填充的過長的輸入。這將大大加快訓練速度,但請注意,如果你在TPU上訓練,這可能會導致問題——TPU喜歡固定的形狀,即使這需要額外的填充。 {:else} @@ -321,8 +322,6 @@ samples = {k: v for k, v in samples.items() if k not in ["idx", "sentence1", "se 毫無疑問,我們得到了不同長度的樣本,從32到67。動態填充意味著該批中的所有樣本都應該填充到長度為67,這是該批中的最大長度。如果沒有動態填充,所有的樣本都必須填充到整個數據集中的最大長度,或者模型可以接受的最大長度。讓我們再次檢查**data_collator**是否正確地動態填充了這批樣本: -```py: - ```py batch = data_collator(samples) {k: v.shape for k, v in batch.items()}