トレーニング データセットをロードする方法

ローカルおよびリモートのデータセットを操作する

データセットには、ローカル データセットとリモート データセットの読み込みを処理するための読み込みスクリプトが用意されています。次のようないくつかの一般的なデータ形式をサポートしています。

データ形式 スクリプトをロードしています
CSVとTSV csv load_dataset("csv", data_files="my_file.csv")
テキストファイル text load_dataset("text", data_files="my_file.txt")
JSON と JSON 行 json load_dataset("json", data_files="my_file.jsonl")
ピクルド データフレーム pandas load_dataset("pandas", data_files="my_dataframe.pkl")

表に示すように、各データ形式について、関数でロード スクリプトのタイプを指定しload_dataset()data_files1 つ以上のファイル パスを指定するパラメーターのみを指定する必要があります。まず、ローカル ファイルからデータセットをロードしましょう。リモート ファイルで同じことを行う方法は後で説明します。

1. ローカル データセットをロードします

この例では、SQuAD-it データセットを使用します。

この関数で JSON ファイルをロードするにはload_dataset()、プレーン JSON (ネストされた辞書に似た) を扱うのか、JSON Lines (行区切りの JSON) を扱うのかを知る必要があるだけです。多くの質問応答データセットと同様に、SQuAD-it はネストされた形式を使用し、すべてのテキストが 1 つのdataフィールドに保存されます。fieldこれは、次のようにパラメータを指定してデータセットをロードできることを意味します。

from datasets import load_dataset

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

デフォルトでは、ローカル ファイルをロードすると、DatasetDict分割されたオブジェクトが作成されますtrainsquad_it_datasetこれは、オブジェクトを検査することで確認できます。

squad_it_dataset:

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

これにより、トレーニング セットに関連付けられた行と列の数が表示されます。次のようにインデックス分割による例の 1 つを見てみましょうtrain

squad_it_dataset["train"][0]:

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

トレーニング データセットとテスト データセットを 1 つの DatasetDictオブジェクトに入れるには、次のようにします。

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

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

トレーニング データセットを解凍せずに直接ロードすることもできます。

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

2.リモート データセットをロードする

data_files次のように、 SQuAD_it  -*.json.gz URLを直接指定できます 。

#https://github.com/crux82/squad-it/blob/master/SQuAD_it-train.json.gz
#https://github.com/crux82/squad-it/blob/master/SQuAD_it-test.json.gz

url = "https://github.com/crux82/squad-it/blob/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")

おすすめ

転載: blog.csdn.net/qwer123456u/article/details/130399725