我想将我的numpy数组文件拆分为train/test

8ulbf1ek  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(139)

我有12000个文件,每个都是.npy格式。我这样做是因为我的图像是灰度的。每个文件都是(64,64)。我想知道是否有一种方法可以分为测试和训练,用于自动编码器。
(64,64) numpy image
我的自动编码器将使用(64,64)图像进行训练。如果有人对自动编码器有经验:用(3,64,64)还是(64,64)训练更好?png,jpg格式比npy好吗?

2skhul33

2skhul331#

您可以使用sklearn's train_test_split

import numpy as np
from sklearn.model_selection import train_test_split

list_of_images = # a list containing the paths of all your data files
                 # or a numpy array of shape (12000, 64, 64)

train_list, test_list = train_test_list(list_of_images, test_size=0.1, random_state=0, shuffle=True)

上面的代码片段应该将您的数据分为90%和10%用于训练和测试。

  • 如果将它应用于路径列表,它应该返回两个路径列表。
  • 如果您预先将所有图像加载到一个大小为(12000,64,64)的大型数组中,那么它将分别返回两个较小的数组(10800,64,64)和(1200,64,64)。

由于您的图像是灰度级的,因此不需要使用(3,64,64),自动编码器将使用(64,64)---或(1,64,64)(准确地说)来工作。

相关问题