batchsize大小對訓練速度的影響

1.batchsize越大 是不是訓練越快?

GPU :一塊2080Ti
平臺:pytorch cuda
圖片數量:2700

batchsize一個圖片處理時間GPU內存占用GPU算力使用一個epoch 所用時間
10.117s2.5G20%2700 * 0.0117 = 318s
50.516s8G90%2700 * 0.516/5 = 279s

batchsize大了之后,占用的資源多了,算力多了,但是速度沒有提升,這樣是不是太坑了
我們其實可以把 batchsize設置小點,然后把剩余的內存跑其他實驗,而且再在同一張卡上跑一個新的實驗,對之前的速度也沒有影響。

結論:
1.本人實驗 batchsize越大,訓練速度提升不大
2.bachsize小點,多跑幾個實驗真香

完成每個epoch運算的所需的全部時間主要卡在:

  1. load數據的時間,
  2. 每個epoch的iter數量。
  3. 因此對于每個epoch,不管是純計算時間還是全部時間,大體上還是大batch能夠更節約時間一點,但隨著batch增大,iter次數減小,完成每個epoch的時間更取決于加載數據所需的時間,此時也不見得大batch能帶來多少的速度增益了。

2.batchsize大了,是不是結果會變好?

收集資料發現,確實是這樣的,但是也不能太大了

在這里插入圖片描述

  1. Batch_Size 太小,算法在 200 epoches 內不收斂。
  2. 隨著 Batch_Size 增大,處理相同數據量的速度越快。
  3. 隨著 Batch_Size 增大,達到相同精度所需要的 epoch 數量越來越多。
  4. 由于上述兩種因素的矛盾, Batch_Size增大到某個時候,達到時間上的最優。
  5. 由于最終收斂精度會陷入不同的局部極值,因此 Batch_Size增大到某些時候,達到最終收斂精度上的最優。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535202.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535202.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535202.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

os.environ[‘CUDA_VISIBLE_DEVICES‘]= ‘0‘設置環境變量

os.environ[‘環境變量名稱’]‘環境變量值’ #其中key和value均為string類型 import os os.environ["CUDA_VISIBLE_DEVICES"]‘6‘’,‘7’這個語句的作用是程序可見的顯卡ID。 注意 如果"CUDA_VISIBLE_DEVICES" 書寫錯誤,也不報…

nn.ReLU() 和 nn.ReLU(inplace=True)中inplace的作用

inplace 作用: 1.用relu后的變量進行替換,直接把原來的變量覆蓋掉 2.節省了內存 缺點: 有時候出現梯度回傳失敗的問題,因為之前的變量被替換了,找不到之前的變量了 參考這篇文章

pytorch:加載預訓練模型(多卡加載單卡預訓練模型,多GPU,單GPU)

在pytorch加載預訓練模型時,可能遇到以下幾種情況。 分為以下幾種在pytorch加載預訓練模型時,可能遇到以下幾種情況。1.多卡訓練模型加載單卡預訓練模型2. 多卡訓練模型加載多卡預訓練模型3. 單卡訓練模型加載單卡預訓練模型4. 單卡訓練模型加載多卡預訓…

python中 numpy轉list list 轉numpy

list to numpy import numpy as np a [1,2] b np.array(a)numpy to list a np.zero(1,1) a.tolist()

知識蒸餾 knowledge distill 相關論文理解

Knowledge Distil 相關文章1.FitNets : Hints For Thin Deep Nets (ICLR2015)2.A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning (CVPR 2017)3.Matching Guided Distillation&#xff08…

模型壓縮 相關文章解讀

模型壓縮相關文章Learning both Weights and Connections for Efficient Neural Networks (NIPS2015)Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding(ICLR2016)Learning both Weights and …

Linux 殺死進程

kill -9 進程名 殺死進程

計算圖片相似度的方法

文章目錄1.余弦相似度計算2.哈希算法計算圖片的相似度3.直方圖計算圖片的相似度4.SSIM(結構相似度度量)計算圖片的相似度5.基于互信息(Mutual Information)計算圖片的相似度1.余弦相似度計算 把圖片表示成一個向量,通…

.size .shape .size() type的運用

.size ndarray.size 數組元素的總個數,相當于 .shape 中 n*m 的值 a np.array([2,2]) print(a.size)2.shap ndarray.shape 數組的維度,對于矩陣,n 行 m 列 a np.array([2,2]) print(a.shape) (1,2)torch.tensor 數組的維度 x torch.r…

矩陣相加

tensor 類型 a torch.randn(1,3,3) b torch.randn(1,3,3) c a b numpy.array 類型 a np.array([2,2]) b np.array([2,2]) print(type(a)) print(ab)[4,4]

Latex 生成的PDF增加行號 左右兩邊

增加行號 \usepackage[switch]{lineno}\linenumbers \begin{document} \end{document}

pytorh .to(device) 和.cuda()的區別

原理 .to(device) 可以指定CPU 或者GPU device torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 單GPU或者CPU model.to(device) #如果是多GPU if torch.cuda.device_count() > 1:model nn.DataParallel(model,devic…

Linux 修改用戶名的主目錄 家目錄

首先root 登陸 sudo -i 輸入密碼然后 vim /etc/passwd 找到用戶名 然后修改后面的路徑即可

ubunt16.04 安裝3090顯卡驅動 cuda cudnn pytorch

安裝驅動 需要的安裝包 30系列顯卡是新一代架構,新驅動不支持cuda9以及cuda10,所以必須安裝cuda11、而pytorch現在穩定版為1.6,最高僅支持到cud10.2。所以唯一的辦法就是使用上處于beta測試的1.7或1.8。這也是為啥一開始就強調本文的寫作時…

3090顯卡 torch.cuda.is_available()返回false的解決辦法

問題 1.執行Nvidia-smi 命令沒有報錯,能夠顯示驅動信息; 2.執行 torch.backends.cudnn.enabled is TRUE 3.torch.cuda.is_available()一直返回False 解決 把torch,torchvision等相關安裝包全部刪除,安裝適合版本的torch。 30系…

測試項目:車牌檢測,行人檢測,紅綠燈檢測,人流檢測,目標識別

本項目為2020年中國軟件杯A組第一批賽題"基于計算機視覺的交通場景智能應用".項目用python實現,主要使用YOLO模型實現道路目標如人、車、交通燈等物體的識別,使用開源的"中文車牌識別HyperLPR&a…

pytorch: 在訓練中保存模型,加載模型

文章目錄1. 保存整個模型2.僅保存和加載模型參數(推薦使用)3. 保存其他參數到模型中,比如optimizer,epoch 等1. 保存整個模型 torch.save(model, model.pkl) model torch.load(model.pkl)2.僅保存和加載模型參數(推薦使用) torch.save(model_object.state_dict()…

Pytorch:保存圖片

1. 直接保存Tensor #!/usr/bin/env python # _*_ coding:utf-8 _*_ import torch from torchvision import utils as vutilsdef save_image_tensor(input_tensor: torch.Tensor, filename):"""將tensor保存為圖片:param input_tensor: 要保存的tensor:param fi…

Python List:合并多個list,listd的合并

第一種方法 a [1,3,3] b [2,3,3] a a b print(a) [1,3,3,2,3,3]第二種方法 a [1,3,3] b [2,3,3] a.extend(b) print(a) [1,3,3,2,3,3]

掛載硬盤問題:mount: wrong fs type, bad option, bad superblock on /dev/sdb,

mount: wrong fs type, bad option, bad superblock on /dev/sdb,missing codepage or helper program, or other error 解決方案: # create mount dir sudo mkdir /hdd6T# new file system sudo mkfs.ext4 /dev/sdc# mount drive sudo mount /dev/sdc /hdd6T/# c…