国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Pytorch使用shuffle打亂數據的操作

Pytorch使用shuffle打亂數據的操作

2021-11-08 10:45永遠的小白蝦 Python

這篇文章主要介紹了Pytorch使用shuffle打亂數據的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

這個東西算是我被這個shuffle坑了的一個總結吧!

首先我得告訴你一件事,那就是pytorch中的tensor,如果直接使用random.shuffle打亂數據,或者使用下面的方式,自己定義直接寫。

?
1
2
3
4
5
6
7
8
9
def Shuffle(self, x, y,random=None, int=int):
        if random is None:
           random = self.random
                for i in range(len(x)):
           j = int(random() * (i + 1))
           if j<=len(x)-1:
               x[i],x[j]=x[j],x[i]
               y[i],y[j]=y[j],y[i]
         retrun x,y

那你就會收獲一堆的混亂數據,因為使用這種交換的方式對tensor類型的數據進行操作,會導致里面的數據出現重復復制的問題。

比如我y中的數據為【0,1,0,1,0,1】

在經過幾次shuffle,其中的數據就變成了【1,1,1,1,1,1】。

數據頓時出現混亂。

正確的方式是先轉成numpy,再進行交換數據

比如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def Shuffle(self, x, y,random=None, int=int):
       """x, random=random.random -> shuffle list x in place; return None.
       Optional arg random is a 0-argument function returning a random
       float in [0.0, 1.0); by default, the standard random.random.
       """
       if random is None:
           random = self.random #random=random.random
       #轉成numpy
       if torch.is_tensor(x)==True:
           if self.use_cuda==True:
              x=x.cpu().numpy()
           else:
              x=x.numpy()
       if torch.is_tensor(y) == True:
           if self.use_cuda==True:
              y=y.cpu().numpy()
           else:
              y=y.numpy()
       #開始隨機置換
       for i in range(len(x)):
           j = int(random() * (i + 1))
           if j<=len(x)-1:#交換
               x[i],x[j]=x[j],x[i]
               y[i],y[j]=y[j],y[i]
       #轉回tensor
       if self.use_cuda == True:
           x=torch.from_numpy(x).cuda()
           y=torch.from_numpy(y).cuda()
       else:
           x = torch.from_numpy(x)
           y = torch.from_numpy(y)
       return x,y

補充:python對訓練數據集shuffle(打亂)的一些方式

1.通過數組來shuffle

?
1
2
3
4
5
6
7
8
9
image_list=[]           # list of images
label_list=[]           # list of labels
 
temp = np.array([image_list, label_list])
temp = temp.transpose()
np.random.shuffle(temp)
 
images = temp[:, 0]     # array of images   (N,)
labels = temp[:, 1]

2.通過索引 Index 來 shuffle

?
1
2
3
4
5
6
7
8
9
10
11
12
image_list=[]           # list of images
label_list=[]           # list of labels
 
##如果image_list存的是讀取的特征數據,而不是圖片路徑,不要注釋后面兩句(list無法索引內部list)
#[list indices must be integers or slices, not list]
#image_list = np.array(image_list)
#label_list = np.array(label_list)
 
index = [i for i in range(len(image_list))]
np.random.shuffle(index)
images = image_list[index]
labels = label_list[index]

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_41487299/article/details/107424432

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲激情一区 | 国产人成精品一区二区三 | 成人免费在线观看 | 欧美三级视频 | 综合网激情 | 亚洲国产精品成人精品 | 一级黄色大片 | 日本一区二区三区四区 | 欧美日韩在线精品 | 欧美一区二区三区 | 国产精品免费久久久久影视 | 视频一区在线 | 欧美黄色成人 | 亚洲第一成人在线视频 | 日韩国产一区 | 干干干操操操 | 激情视频网站 | 久久亚洲一区二区三区明星换脸 | 一区二区av| 国产特黄大片aaaaa毛片 | 久久久av | 精品综合| 久久免费电影 | 日韩av在线中文字幕 | 91.成人天堂一区 | 精品国产黄a∨片高清在线 天天色天天色 | 香蕉亚洲 | 成人av一区二区亚洲精 | 欧美日韩国产在线播放 | 精品一区二区三区四区五区 | 久久久免费精品视频 | 精品国产乱码久久久久久影片 | 午夜午夜精品一区二区三区文 | 亚洲国产精品激情在线观看 | www.中文字幕| 久久久久久免费毛片精品 | 久久久在线免费观看 | 亚洲国产欧美日韩 | 欧美一区二区三区在线播放 | 波多野结衣先锋影音 | 一区二区中文字幕 |