Pytorch:使用官网提供数据集的相关参数设置,以CIFAR10为例进行说明
生活随笔
收集整理的這篇文章主要介紹了
Pytorch:使用官网提供数据集的相关参数设置,以CIFAR10为例进行说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、Dataset
- 定義-組成
- 分類
- 二、獲取數據集
- 1.參數說明
- 2.相關Demo
前言
本文記錄筆者關于Dataset的相關學習記錄,以Pytorch官網文檔為主進行學習
一、Dataset
定義-組成
所謂Dataset,指的是我們在學習神經網絡中要接觸的數據集,一般由原始數據,標注Label及相關索引構成
這里筆者給出基于自己的理解所進行的論述,比方說,我們要訓練一個識別貓和狗的神經網絡,我們獲取到的原始圖像數據集組成大致如下
- 一張狗的照片->二進制圖像,可以理解為二維數組
- 照片的Label->區分這張圖片到底是貓還是狗,一般為int值,對應0或者1
- 相關索引->一維數組或者二維數組的下標,根據下標Index獲取到數據集的數據
分類
數據集按照其功能用途分,可分為訓練集(train set)、測試集(validation set)和驗證集(test set)
- 訓練集:訓練集用來訓練模型,即確定模型的權重和偏置這些參數,通常我們稱這些參數為學習參數。
- 測試集:而驗證集用于模型的選擇,更具體地來說,驗證集并不參與學習參數的確定,也就是驗證集并沒有參與梯度下降的過程。驗證集只是為了選擇超參數,比如層數、網絡節點數、迭代次數、學習率這些都叫超參數。比如在k-NN算法中,k值就是一個超參數。所以可以使用驗證集來求出誤差率最小的k。換句話說,筆者理解驗證集并不參與反向傳播的過程,也就是不會對網絡的參數產生直接的負反饋指導,只對網絡的結構產生參考影響。
- 驗證集:測試集只使用一次,即在訓練完成后評價最終的模型時使用。它既不參與學習參數過程,也不參數超參數選擇過程,而僅僅使用于模型的評價。值得注意的是,千萬不能在訓練過程中使用測試集,而后再用相同的測試集去測試模型。這樣做其實是一個cheat,使得模型測試時準確率很高。
二、獲取數據集
在使用Pytorch框架進行神經網絡開發過程中,在引入torch包后,我們可以使用官網為我們提供的數據集相關命令進行數據集的獲取和下載
1.參數說明
這里以CIFAR10為例,進行說明
2.相關Demo
獲取CIFAT10相關數據集的代碼如下
import torchvision.datasetstrain_data=torchvision.datasets.CIFAR10("../data",train=True,transform=torchvision.transforms.ToTensor(),download=True)test_data=torchvision.datasets.CIFAR10("../data",train=False,transform=torchvision.transforms.ToTensor(),download=True)# 數據集長度 train_lens=len(train_data) test_lens=len(test_data)print(train_lens) print(test_lens)運行效果
總結
以上是生活随笔為你收集整理的Pytorch:使用官网提供数据集的相关参数设置,以CIFAR10为例进行说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue3 antd项目实战——Form表
- 下一篇: LPR/IRR/APR/PMT/PV/F