最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Pytorch使用shuffle打亂數(shù)據(jù)的操作

 更新時(shí)間:2021年05月20日 15:09:17   作者:永遠(yuǎn)的小白蝦  
這篇文章主要介紹了Pytorch使用shuffle打亂數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

這個(gè)東西算是我被這個(gè)shuffle坑了的一個(gè)總結(jié)吧!

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

 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

那你就會(huì)收獲一堆的混亂數(shù)據(jù),因?yàn)槭褂眠@種交換的方式對(duì)tensor類型的數(shù)據(jù)進(jìn)行操作,會(huì)導(dǎo)致里面的數(shù)據(jù)出現(xiàn)重復(fù)復(fù)制的問題。

比如我y中的數(shù)據(jù)為【0,1,0,1,0,1】

在經(jīng)過(guò)幾次shuffle,其中的數(shù)據(jù)就變成了【1,1,1,1,1,1】。

數(shù)據(jù)頓時(shí)出現(xiàn)混亂。

正確的方式是先轉(zhuǎn)成numpy,再進(jìn)行交換數(shù)據(jù)

比如:

 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
        #轉(zhuǎn)成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()
        #開始隨機(jī)置換
        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]
        #轉(zhuǎn)回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

補(bǔ)充:python對(duì)訓(xùn)練數(shù)據(jù)集shuffle(打亂)的一些方式

1.通過(guò)數(shù)組來(lái)shuffle

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.通過(guò)索引 Index 來(lái) shuffle

image_list=[]           # list of images
label_list=[]           # list of labels
 
##如果image_list存的是讀取的特征數(shù)據(jù),而不是圖片路徑,不要注釋后面兩句(list無(wú)法索引內(nèi)部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]

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django restful framework生成API文檔過(guò)程詳解

    Django restful framework生成API文檔過(guò)程詳解

    這篇文章主要介紹了Django restful framework生成API文檔過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Jupyter的工作目錄(根目錄)位置介紹

    Jupyter的工作目錄(根目錄)位置介紹

    這篇文章主要介紹了Jupyter的工作目錄(根目錄)位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Python數(shù)據(jù)存儲(chǔ)之XML文檔和字典的互轉(zhuǎn)

    Python數(shù)據(jù)存儲(chǔ)之XML文檔和字典的互轉(zhuǎn)

    這篇文章主要介紹了Python數(shù)據(jù)存儲(chǔ)之XML文檔和字典的互轉(zhuǎn),通過(guò)如何將一個(gè)字典轉(zhuǎn)換為XML文檔,并將該XML文檔保存為文本文件的提問展開主題相關(guān)介紹,需要的朋友可以參考一下下面文章內(nèi)容
    2022-06-06
  • python3.6?print同一行覆蓋打印方式

    python3.6?print同一行覆蓋打印方式

    這篇文章主要介紹了python3.6?print同一行覆蓋打印方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • pycharm?將python文件打包為exe格式的方法

    pycharm?將python文件打包為exe格式的方法

    今天小編就為大家分享一篇pycharm?將python文件打包為exe格式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python實(shí)現(xiàn)從尾到頭打印單鏈表操作示例

    python實(shí)現(xiàn)從尾到頭打印單鏈表操作示例

    這篇文章主要介紹了python實(shí)現(xiàn)從尾到頭打印單鏈表操作,結(jié)合實(shí)例形式分析了Python單鏈表的定義、判斷、添加、打印等相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • 解決python3.x安裝numpy成功但import出錯(cuò)的問題

    解決python3.x安裝numpy成功但import出錯(cuò)的問題

    這篇文章主要介紹了解決python3.x安裝numpy成功但import出錯(cuò)的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 利用Python實(shí)現(xiàn)炸彈人游戲的完整代碼

    利用Python實(shí)現(xiàn)炸彈人游戲的完整代碼

    這篇文章主要介紹了如何使用Python的Pygame庫(kù)實(shí)現(xiàn)一個(gè)炸彈人游戲,并對(duì)其進(jìn)行多方面的優(yōu)化,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • 淺談python3中input輸入的使用

    淺談python3中input輸入的使用

    這篇文章主要介紹了淺談python3中input輸入的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python Pandas中根據(jù)列的值選取多行數(shù)據(jù)

    Python Pandas中根據(jù)列的值選取多行數(shù)據(jù)

    這篇文章主要介紹了Python Pandas中根據(jù)列的值選取多行數(shù)據(jù)的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì) ,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

沁水县| 万荣县| 稷山县| 温泉县| 富顺县| 河津市| 霞浦县| 晋州市| 南城县| 巧家县| 兴和县| 潍坊市| 巧家县| 新龙县| 东乡族自治县| 紫阳县| 五寨县| 女性| 白城市| 新宁县| 林州市| 沐川县| 得荣县| 石门县| 莱阳市| 临朐县| 沙河市| 阜康市| 临澧县| 临城县| 佛山市| 泰顺县| 阳原县| 兴海县| 南阳市| 肇州县| 含山县| 临猗县| 平阴县| 东辽县| 巴南区|