日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十九、Pytorch中的数据加载

發布時間:2024/9/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十九、Pytorch中的数据加载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Pytorch中DataSet的使用方法

1.1 DataSet加載數據的方法

  • DataSet是Pytorch中用來表示數據集的一個抽象類,在torch中提供了數據集的基類torch.utils.data.Dataset,繼承這個基類,我們能夠快速地實現對數據的加載**.**

    __len__:返回數據集大小; __getitem__:可以通過下標方式獲取數據

1.2 DataSet類的源碼

1.3 DataLoader使用方法

  • 定義dataset實例
  • 設置讀取數據batch的大小,常用128,256等等
  • 設置shuffle:bool類型,表示是否在每次獲取數據的時候提前打亂數據

1.4 數據集介紹

  • 數據集:setiment.test.data,情感分析二分類數據,數據包含兩列,文本和標簽.
  • 地址:https://github.com/bojone/bert4keras/tree/master/examples/datasets.
  • 數據集格式如下圖所示:

1.5 代碼

  • 步驟一:導入工具庫
from torch.utils.data import Dataset, DataLoader import pandas as pd
  • 步驟二:定義數據讀取類
class SentimentDataset(Dataset):# 初始化def __init__(self, path_to_file):self.dataset = pd.read_csv(path_to_file, sep="\t", names=["text", "label"])# 返回數據的長度def __len__(self):return len(self.dataset)# 根據編號返回數據def __getitem__(self, idx):text = self.dataset.loc[idx, "text"] # 文本label = self.dataset.loc[idx, "label"] # 標簽sample = {"text": text, "label": label} # 數據樣本return sample
  • 步驟三:定義主函數
if __name__ == "__main__":sentiment_dataset = SentimentDataset("sentiment.test.data")print(sentiment_dataset.__getitem__(0)) # 查看第一條數據
  • 步驟四:使用DataLoader批量讀取數據
count = 0 for idx, batch_samples in enumerate(sentiment_dataloader):text_batchs, text_labels = batch_samples["text"], batch_samples["label"]print(idx,text_batchs)count += 1if count == 3:break

總結

以上是生活随笔為你收集整理的十九、Pytorch中的数据加载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。