Caltech-256データセット処理(二)訓練セットとテストセットの作成

13275 ワード

PyTorchでのCaltech-256データセットの処理:Caltech-256データセット処理(一)label抽出Caltech-256データセット処理(二)トレーニングセットとテストセットの作成Caltech-256データセット処理(三)トレーニングセットと検証セットDateloaderへのロード
最初の文章はlabelを抽出して、後で実験をしてまだ足りないことを発見して、ここで10:1の割合で訓練集と検証集を分けて、基本的にカテゴリの不均衡が発生しないことを保証することができます.元の画像の構造は依然として第1編と同じです:./256_ObjectCategories/001.ak47/001_0001.jpg … … ./256_ObjectCategories/257.clutter/257_0827.jpg
import os

datasetpath="/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories"

dirs=os.listdir(datasetpath)
dirs.sort()
with open(r'label.txt','w',encoding='utf-8') as f:
    for i in dirs:
        f.write(i)
        f.write('
'
) #print(dirs) it=0 Matrix = [[] for x in range(257)] # all filenames under DATA_PATH for d in dirs: for _, _, filename in os.walk(os.path.join(datasetpath,d)): for i in filename: Matrix[it].append(os.path.join(os.path.join(datasetpath,d),i)) # filename is a list of pic files under the fold it = it + 1 #print(Matrix) with open(r'dataset-val.txt','w',encoding='utf-8') as f: for i in range(len(Matrix)): for j in range(10): f.write(os.path.join(datasetpath,Matrix[i][j])) f.write(' ') f.write(str(i)) f.write('
'
) with open(r'dataset-trn.txt','w',encoding='utf-8') as f: for i in range(len(Matrix)): for j in range(10,len(Matrix[i])): f.write(os.path.join(datasetpath,Matrix[i][j])) f.write(' ') f.write(str(i)) f.write('
'
)

生成されたラベル付きトレーニングセットと検証セットの部分は以下の通りである:dataset-trn.txt
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0010.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0040.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0091.jpg 0
... ...
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0056.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0030.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0011.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0052.jpg 1
... ...
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0774.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0233.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0013.jpg 256

dataset-val.txt
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0070.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0060.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0076.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0062.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0035.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0092.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0015.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0098.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0024.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/001.ak47/001_0003.jpg 0
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0078.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0093.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0037.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0065.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0055.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0069.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0002.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0012.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0096.jpg 1
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/002.american-flag/002_0032.jpg 1
... ...
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0061.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0365.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0543.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0530.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0556.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0310.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0531.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0305.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0135.jpg 256
/media/this/02ff0572-4aa8-47c6-975d-16c3b8062013/256_ObjectCategories/257.clutter/257_0116.jpg 256