好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > pytorch 數據加載性能對比分析

pytorch 數據加載性能對比分析

熱門標簽:北京外呼電銷機器人招商 云南地圖標注 汕頭電商外呼系統供應商 crm電銷機器人 電銷機器人 金倫通信 賓館能在百度地圖標注嗎 南京crm外呼系統排名 400電話 申請 條件 鄭州智能外呼系統中心

傳統方式需要10s,dat方式需要0.6s

import os
import time
import torch
import random
from common.coco_dataset import COCODataset
def gen_data(batch_size,data_path,target_path):
 os.makedirs(target_path,exist_ok=True)
 dataloader = torch.utils.data.DataLoader(COCODataset(data_path,
               (352, 352),
               is_training=False, is_scene=True),
            batch_size=batch_size,
            shuffle=False, num_workers=0, pin_memory=False,
            drop_last=True) # DataLoader
 start = time.time()
 for step, samples in enumerate(dataloader):
  images, labels, image_paths = samples["image"], samples["label"], samples["img_path"]
  print("time", images.size(0), time.time() - start)
  start = time.time()
  # torch.save(samples,target_path+ '/' + str(step) + '.dat')
  print(step)
def cat_100(target_path,batch_size=100):
 paths = os.listdir(target_path)
 li = [i for i in range(len(paths))]
 random.shuffle(li)
 images = []
 labels = []
 image_paths = []
 start = time.time()
 for i in range(len(paths)):
  samples = torch.load(target_path + str(li[i]) + ".dat")
  image, label, image_path = samples["image"], samples["label"], samples["img_path"]
  images.append(image.cuda())
  labels.append(label.cuda())
  image_paths.append(image_path)
  if i % batch_size == batch_size - 1:
   images = torch.cat((images), 0)
   print("time", images.size(0), time.time() - start)
   images = []
   labels = []
   image_paths = []
   start = time.time()
  i += 1
if __name__ == '__main__':
 os.environ["CUDA_VISIBLE_DEVICES"] = '3'
 batch_size=320
 # target_path='d:/test_1000/'
 target_path='d:\img_2/'
 data_path = r'D:\dataset\origin_all_datas\_2train'
 gen_data(batch_size,data_path,target_path)
 # get_data(target_path,batch_size)
 # cat_100(target_path,batch_size)

這個讀取數據也比較快:320 batch_size 450ms

def cat_100(target_path,batch_size=100):
 paths = os.listdir(target_path)
 li = [i for i in range(len(paths))]
 random.shuffle(li)
 images = []
 labels = []
 image_paths = []
 start = time.time()
 for i in range(len(paths)):
  samples = torch.load(target_path + str(li[i]) + ".dat")
  image, label, image_path = samples["image"], samples["label"], samples["img_path"]
  images.append(image)#.cuda())
  labels.append(label)#.cuda())
  image_paths.append(image_path)
  if i % batch_size  batch_size - 1:
   i += 1
   continue
  i += 1
  images = torch.cat(([image.cuda() for image in images]), 0)
  print("time", images.size(0), time.time() - start)
  images = []
  labels = []
  image_paths = []
  start = time.time()

補充:pytorch數據加載和處理問題解決方案

最近跟著pytorch中文文檔學習遇到一些小問題,已經解決,在此對這些錯誤進行記錄:

在讀取數據集時報錯:

AttributeError: 'Series' object has no attribute 'as_matrix'

在顯示圖片是時報錯:

ValueError: Masked arrays must be 1-D

顯示單張圖片時figure一閃而過

在顯示多張散點圖的時候報錯:

TypeError: show_landmarks() got an unexpected keyword argument 'image'

解決方案

主要問題在這一行: 最終目的是將Series轉為Matrix,即調用np.mat即可完成。

修改前

landmarks =landmarks_frame.iloc[n, 1:].as_matrix()

修改后

landmarks =np.mat(landmarks_frame.iloc[n, 1:])

打散點的x和y坐標應該均為向量或列表,故將landmarks后使用tolist()方法即可

修改前

plt.scatter(landmarks[:,0],landmarks[:,1],s=10,marker='.',c='r')

修改后

plt.scatter(landmarks[:,0].tolist(),landmarks[:,1].tolist(),s=10,marker='.',c='r')

前面使用plt.ion()打開交互模式,則后面在plt.show()之前一定要加上plt.ioff()。這里直接加到函數里面,避免每次plt.show()之前都用plt.ioff()

修改前

def show_landmarks(imgs,landmarks):
 '''顯示帶有地標的圖片'''
 plt.imshow(imgs)
 plt.scatter(landmarks[:,0].tolist(),landmarks[:,1].tolist(),s=10,marker='.',c='r')#打上紅色散點
 plt.pause(1)#繪圖窗口延時

修改后

def show_landmarks(imgs,landmarks):
 '''顯示帶有地標的圖片'''
 plt.imshow(imgs)
 plt.scatter(landmarks[:,0].tolist(),landmarks[:,1].tolist(),s=10,marker='.',c='r')#打上紅色散點
 plt.pause(1)#繪圖窗口延時
 plt.ioff()

網上說對于字典類型的sample可通過 **sample的方式獲取每個鍵下的值,但是會報錯,于是把輸入寫的詳細一點,就成功了。

修改前

show_landmarks(**sample)

修改后

show_landmarks(sample['image'],sample['landmarks'])

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • pytorch加載語音類自定義數據集的方法教程
  • pytorch加載自己的圖像數據集實例
  • PyTorch加載自己的數據集實例詳解
  • Pytorch自己加載單通道圖片用作數據集訓練的實例
  • Pytorch 數據加載與數據預處理方式
  • pytorch 自定義數據集加載方法
  • pytorch從csv加載自定義數據模板的操作

標簽:梅州 石家莊 西寧 浙江 錫林郭勒盟 昆明 文山 懷化

巨人網絡通訊聲明:本文標題《pytorch 數據加載性能對比分析》,本文關鍵詞  pytorch,數據,加載,性能,對比,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch 數據加載性能對比分析》相關的同類信息!
  • 本頁收集關于pytorch 數據加載性能對比分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 美女在线视频一区二区三区| 精品一区二区三区免费观看| 久久久久久久久久久国产| 激情五月色综合国产精品| chinese青年大学生gay18| 免费三级黄色片| 老师兔子好软水好多兔子视频| 汤唯被扒出白色分泌物的原因| 成人A片产无码免费奶头动态图| 俄罗斯色片| 国产69精品久久久久久精品| 高h辣小说| 国产私拍福利精品视频网站| 国产做受???高潮久久Yo| 老妇做爰A片免费观看| 体育生胯下粗大h| 白丝美女啪啪| 消防员gay大长雕tube| 日本护士体内she精3XxX| 杨思敏被揉到高潮下不了床| 国产欧美另类第一页| 久久精品国产精品青草图片| 羽月希母乳| 色综合久久五月色婷婷心悦网 | 一级黄色片一| 国产免费观看a大片的网站| 日本亚洲综合| 伦理片在线观看网站资源| 国产伦精品一区二区三区照片91| 免费a级一片| 欧美激情16p| 97人人澡人人添人人爽超碰| 极品粉嫩国产18尤物在线播放 | 龚玥菲新梅瓶无删减| 影音先锋AV啪啪资源| 中国熟妇╳╳╳ⅹBBBB越南| 麻豆免费视频网站入口| 超污动漫| 亚洲日韩中文一区二区三区| 武则天一级黄色片| 黄色特级视频|