国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets

這篇具有很好參考價值的文章主要介紹了【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基礎組件——Datasets

【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets,# LLM,transformer,學習,筆記
【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets,# LLM,transformer,學習,筆記

datasets基本使用

【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets,# LLM,transformer,學習,筆記

導入包

from datasets import *

加載數(shù)據(jù)

datasets = load_dataset("madao33/new-title-chinese")
datasets

DatasetDict({
    train: Dataset({
        features: ['title', 'content'],
        num_rows: 5850
    })
    validation: Dataset({
        features: ['title', 'content'],
        num_rows: 1679
    })
})

加載數(shù)據(jù)集合集中的某一項子集

boolq_dataset = load_dataset("super_glue", "boolq")
boolq_dataset

DatasetDict({
    train: Dataset({
        features: ['question', 'passage', 'idx', 'label'],
        num_rows: 9427
    })
    validation: Dataset({
        features: ['question', 'passage', 'idx', 'label'],
        num_rows: 3270
    })
    test: Dataset({
        features: ['question', 'passage', 'idx', 'label'],
        num_rows: 3245
    })
})

按照數(shù)據(jù)集劃分進行加載

dataset = load_dataset("madao33/new-title-chinese", split="train")
dataset

Dataset({
    features: ['title', 'content'],
    num_rows: 5850
})
dataset = load_dataset("madao33/new-title-chinese", split="train[10:100]")
dataset

Dataset({
    features: ['title', 'content'],
    num_rows: 90
})
dataset = load_dataset("madao33/new-title-chinese", split="train[:50%]")
dataset

Dataset({
    features: ['title', 'content'],
    num_rows: 2925
})
dataset = load_dataset("madao33/new-title-chinese", split=["train[:50%]", "train[50%:]"])
dataset

[Dataset({
     features: ['title', 'content'],
     num_rows: 2925
 }),
 Dataset({
     features: ['title', 'content'],
     num_rows: 2925
 })]

查看數(shù)據(jù)集

datasets = load_dataset("madao33/new-title-chinese")
datasets

DatasetDict({
    train: Dataset({
        features: ['title', 'content'],
        num_rows: 5850
    })
    validation: Dataset({
        features: ['title', 'content'],
        num_rows: 1679
    })
})

查看某一個數(shù)據(jù)

datasets["train"][0]

{'title': '望海樓是危險的賭博',
 'content': '近期妥善處理)'}

查看某一些數(shù)據(jù)

datasets["train"][:2]

{'title': ['望海樓是危險的賭博'],
 'content': ['撒打發(fā)是',
  '在推進“雙一流”高校建設進程中']}

查看列名

datasets["train"].column_names

['title', 'content']

查看列屬性

{'title': Value(dtype='string', id=None),
 'content': Value(dtype='string', id=None)}

數(shù)據(jù)集劃分
可使用train_test_split這個函數(shù)

dataset = datasets["train"]
dataset.train_test_split(test_size=0.1)		# 按測試集比例為10%劃分

DatasetDict({
    train: Dataset({
        features: ['title', 'content'],
        num_rows: 5265
    })
    test: Dataset({
        features: ['title', 'content'],
        num_rows: 585
    })
})

對于分類任務,指定標簽字段,然后讓這個數(shù)據(jù)集均衡劃分標簽字段

dataset = boolq_dataset["train"]
dataset.train_test_split(test_size=0.1, stratify_by_column="label")     # 分類數(shù)據(jù)集可以按照比例劃分

DatasetDict({
    train: Dataset({
        features: ['question', 'passage', 'idx', 'label'],
        num_rows: 8484
    })
    test: Dataset({
        features: ['question', 'passage', 'idx', 'label'],
        num_rows: 943
    })
})

數(shù)據(jù)選取與過濾

# 選取
datasets["train"].select([0, 1])

Dataset({
    features: ['title', 'content'],
    num_rows: 2
})
# 過濾
## 傳入一個lambda函數(shù),讓其只取含有中國的數(shù)據(jù)
filter_dataset = datasets["train"].filter(lambda example: "中國" in example["title"])
filter_dataset["title"][:5]

['世界探尋中國成功秘訣',
 '信心來自哪里',
 '世界減貧跑出加速度',
 '和音矚目歷史交匯點',
 '風采感染世界']

數(shù)據(jù)映射

def add_prefix(example):
    example["title"] = 'Prefix: ' + example["title"]
    return example
prefix_dataset = datasets.map(add_prefix)	# 每個title數(shù)據(jù)前面添加了前綴
prefix_dataset["train"][:10]["title"]

['Prefix: 危險的',
 'Prefix: 大力推進高校治理能力建設',
 'Prefix: 堅持事業(yè)為上選賢任能',
 'Prefix: “大朋友”的話兒記心頭',
 'Prefix: 用好可持續(xù)發(fā)展這把“金鑰匙”',
 'Prefix: 跨越雄關,我們走在大路上',
 'Prefix: 脫貧奇跡彰顯政治優(yōu)勢',
 'Prefix: 拱衛(wèi)億萬人共同的綠色夢想',
 'Prefix: 育人育才',
 'Prefix: 凈化網(wǎng)絡語言']
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")
def preprocess_function(example, tokenizer=tokenizer):
    model_inputs = tokenizer(example["content"], max_length=512, truncation=True)
    labels = tokenizer(example["title"], max_length=32, truncation=True)
    # label就是title編碼的結(jié)果
    model_inputs["labels"] = labels["input_ids"]
    return model_inputs
processed_datasets = datasets.map(preprocess_function)	# 添加了分類標簽
processed_datasets

DatasetDict({
    train: Dataset({
        features: ['title', 'content', 'input_ids', 'token_type_ids', 'attention_mask', 'labels'],
        num_rows: 5850
    })
    validation: Dataset({
        features: ['title', 'content', 'input_ids', 'token_type_ids', 'attention_mask', 'labels'],
        num_rows: 1679
    })
})
processed_datasets = datasets.map(preprocess_function, batched=True)	# 使用批處理
processed_datasets

DatasetDict({
    train: Dataset({
        features: ['title', 'content', 'input_ids', 'token_type_ids', 'attention_mask', 'labels'],
        num_rows: 5850
    })
    validation: Dataset({
        features: ['title', 'content', 'input_ids', 'token_type_ids', 'attention_mask', 'labels'],
        num_rows: 1679
    })
})

去除某一字段

processed_datasets = datasets.map(preprocess_function, batched=True, remove_columns=datasets["train"].column_names)
processed_datasets

DatasetDict({
    train: Dataset({
        features: ['input_ids', 'token_type_ids', 'attention_mask', 'labels'],
        num_rows: 5850
    })
    validation: Dataset({
        features: ['input_ids', 'token_type_ids', 'attention_mask', 'labels'],
        num_rows: 1679
    })
})

保存與加載

# 保存
processed_datasets.save_to_disk("./processed_data")
# 加載
processed_datasets = load_from_disk("./processed_data")

加載本地數(shù)據(jù)集

# 加載本地csv文件
dataset = load_dataset("csv", data_files="./ChnSentiCorp_htl_all.csv", split="train")
dataset

Dataset({
    features: ['label', 'review'],
    num_rows: 7766
})
dataset = Dataset.from_csv("./ChnSentiCorp_htl_all.csv")
dataset

Dataset({
    features: ['label', 'review'],
    num_rows: 7766
})

加載文件夾內(nèi)全部文件作為數(shù)據(jù)集

# 使用data_dir加載全部文件夾內(nèi)文件
dataset = load_dataset("csv", data_dir="./all_data/", split='train')
dataset

Dataset({
    features: ['label', 'review'],
    num_rows: 23298
})
# 使用data_files加載文件夾內(nèi)指定文件
dataset = load_dataset("csv", data_files=["./all_data/ChnSentiCorp_htl_all.csv", "./all_data/ChnSentiCorp_htl_all copy.csv"], split='train')
dataset

Dataset({
    features: ['label', 'review'],
    num_rows: 15532
})

通過其他方式讀取數(shù)據(jù),再將其轉(zhuǎn)換成datasets

import pandas as pd

data = pd.read_csv("./ChnSentiCorp_htl_all.csv")
data.head()

【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets,# LLM,transformer,學習,筆記

dataset = Dataset.from_pandas(data)
dataset

Dataset({
    features: ['label', 'review'],
    num_rows: 7766
})
# List格式的數(shù)據(jù)需要內(nèi)嵌{},明確數(shù)據(jù)字段
data = [{"text": "abc"}, {"text": "def"}]
# data = ["abc", "def"]
Dataset.from_list(data)

Dataset({
    features: ['text'],
    num_rows: 2
})

通過自定義加載腳本加載數(shù)據(jù)集文章來源地址http://www.zghlxwxcb.cn/news/detail-809173.html

 load_dataset("json", data_files="./cmrc2018_trial.json", field="data")

DatasetDict({
    train: Dataset({
        features: ['title', 'paragraphs', 'id'],
        num_rows: 256
    })
})
dataset = load_dataset("./load_script.py", split="train")
dataset


dataset[0]

{'id': 'TRIAL_800_QUERY_0',
 'context': '基于《跑跑卡丁車》與《泡泡堂》上所開發(fā)的游戲,由韓國Nexon開發(fā)與發(fā)行。中國大陸由盛大游戲運營,這是Nexon時隔6年再次授予盛大網(wǎng)絡其游戲運營權。臺灣由游戲橘子運營。玩家以水槍、小槍、錘子或是水炸彈泡封敵人(玩家或NPC),即為一泡封,將水泡擊破為一踢爆。若水泡未在時間內(nèi)踢爆,則會從水泡中釋放或被隊友救援(即為一救援)。每次泡封會減少生命數(shù),生命數(shù)耗完即算為踢爆。重生者在一定時間內(nèi)為無敵狀態(tài),以踢爆數(shù)計分較多者獲勝,規(guī)則因模式而有差異。以2V2、4V4隨機配對的方式,玩家可依勝場數(shù)爬牌位(依序為原石、銅牌、銀牌、金牌、白金、鉆石、大師) ,可選擇經(jīng)典、熱血、狙擊等模式進行游戲。若游戲中離,則4分鐘內(nèi)不得進行配對(每次中離+4分鐘)。開放時間為暑假或寒假期間內(nèi)不定期開放,8人經(jīng)典模式隨機配對,采計分方式,活動時間內(nèi)分數(shù)越多,終了時可依該名次獲得獎勵。',
 'question': '生命數(shù)耗完即算為什么?',
 'answers': {'text': ['踢爆'], 'answer_start': [127]}}

到了這里,關于【HuggingFace Transformer庫學習筆記】基礎組件學習:Datasets的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Transformer 論文學習筆記

    Transformer 論文學習筆記

    重新學習了一下,整理了一下筆記 論文 :《Attention Is All You Need》 代碼 :http://nlp.seas.harvard.edu/annotated-transformer/ 地址 :https://arxiv.org/abs/1706.03762v5 翻譯 :Transformer論文翻譯 特點 : 提出一種不使用 RNN、CNN,僅使用注意力機制的新模型 Transformer; 只關注句內(nèi)各 token 之間的關

    2024年02月14日
    瀏覽(20)
  • Transformer學習筆記

    Transformer學習筆記

    由于本人水平有限,難免出現(xiàn)錯漏,敬請批評改正。 更多精彩內(nèi)容,可點擊進入YOLO系列專欄或我的個人主頁查看 YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力機制 YOLOv5:yolov5s.yaml配置文件解讀、增加小目標檢測層 YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU YOLOv7訓練自己的數(shù)據(jù)集(口罩檢測)

    2024年02月14日
    瀏覽(12)
  • 簡單易懂的Transformer學習筆記

    簡單易懂的Transformer學習筆記

    1. 整體概述 2. Encoder ????????2.1 Embedding ????????2.2 位置編碼 ????????????????2.2.1 為什么需要位置編碼 ????????????????2.2.2 位置編碼公式 ????????????????2.2.3 為什么位置編碼可行 ????????2.3?注意力機制 ????????2.3.1 基本注意力機制 ?

    2024年02月14日
    瀏覽(15)
  • 淺嘗Transformer和LLM

    淺嘗Transformer和LLM

    大語言模型勢不可擋啊。 哲學上來說,語言就是我們的一切,語言所不能到達的地方我們也不能達到。就人類來說,語言或許已經(jīng)不僅僅是一種工具那么簡單,其不僅是人類在物理世界進行活動時不可或缺的媒介,也是我們自身構建精神世界時的一磚一瓦。語言的重要性已經(jīng)

    2024年02月13日
    瀏覽(16)
  • 【論文+代碼】1706.Transformer簡易學習筆記

    【論文+代碼】1706.Transformer簡易學習筆記

    Transformer 論文: 1706.attention is all you need! 唐宇迪解讀transformer:transformer2021年前,從NLP活到CV的過程 綜述:2110.Transformers in Vision: A Survey 代碼講解1: Transformer 模型詳解及代碼實現(xiàn) - 進擊的程序猿 - 知乎 代碼講解2:: Transformer代碼解讀(Pytorch) - 神洛的文章 - 知乎 輸入:詞向量(

    2024年02月09日
    瀏覽(24)
  • transformer優(yōu)化(一)-UNeXt 學習筆記

    transformer優(yōu)化(一)-UNeXt 學習筆記

    論文地址:https://arxiv.org/abs/2203.04967 代碼地址:hhttps://link.zhihu.com/?target=https%3A//github.com/jeya-maria-jose/UNeXt-pytorch UNeXt是約翰霍普金斯大學在2022年發(fā)布的論文。它在早期階段使用卷積,在潛在空間階段使用 MLP。通過一個標記化的 MLP 塊來標記和投影卷積特征,并使用 MLP 對表示進

    2024年01月25日
    瀏覽(12)
  • 李宏毅LLM——機器學習基礎知識

    李宏毅LLM——機器學習基礎知識

    機器學習 = 機器自動找出一種函數(shù) 根據(jù)函數(shù)的不同,可以分為回歸問題(輸出數(shù)值)和分類問題(輸出類別,選擇題) 生成有結(jié)構的物件,如圖片、文句 ChatGPT是生成式學習,只不過是將生成式學習拆成多個分類問題來簡化 找出函式的三大步驟 前置作業(yè):決定需要什么樣的

    2024年01月20日
    瀏覽(22)
  • 【學習筆記】Unity基礎(八)【鏡頭camera組件屬性(clear flag、target texture、occlusion culling、鏡面效果、小地圖等)】

    【學習筆記】Unity基礎(八)【鏡頭camera組件屬性(clear flag、target texture、occlusion culling、鏡面效果、小地圖等)】

    轉(zhuǎn)載請注明出處:??https://blog.csdn.net/weixin_44013533/article/details/131071235 參考: 官網(wǎng)手冊 Graphics 本人使用的unity版本是2021.3.25f 攝像機所看到的內(nèi)容由它的Transform和 Camera component來定義。Transform position 定義了視點,其向前的 (Z) 軸定義視圖方向。Camera 組件的設置還定義了視圖中

    2024年02月13日
    瀏覽(26)
  • 學習筆記 | 多層感知機(MLP)、Transformer

    學習筆記 | 多層感知機(MLP)、Transformer

    目錄 多層感知機(MLP) Transformer? 1. inputs 輸入 2. Transformer的Encoder ????????2.1?Multi-Head Attention ????????2.2?Add&Normalize ????????2.3?Feed-Forward Networks 3. Transformer的Decoder ????????3.1Transformer Decoder的輸入 ????????3.2 Masked Multi-Head Attention ????????3.3?基于En

    2024年02月02日
    瀏覽(46)
  • 深度學習筆記之Transformer(四)鋪墊:LayerNormalization

    深度學習筆記之Transformer(四)鋪墊:LayerNormalization

    在介紹 Transformer text{Transformer} Transformer 模型架構之前,首先介紹 Transformer text{Transformer} Transformer 的核心架構之一: 層標準化 ( Layer?Normalization ) (text{Layer Normalization}) ( Layer?Normalization ) 。 問題描述 批標準化 ( Batch?Normalization ) (text{Batch Normalization}) ( Batch?Normalization ) 我們

    2024年02月13日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包