我是深度学习的初学者。我对如何读取Google Colab中的图像数据集感到困惑。基本上,数据集包含2个用于训练和测试图像的文件夹以及2个用于训练和测试标签的csv文件。现在,我需要确定需要先读取数据然后拆分数据的图像的跳舞模式。
但是我尝试使用以下代码读取数据集:
zip_path = '/content/0664343c9a8f11ea.zip'
with ZipFile(zip_path) as z:
data = z.namelist()
此代码可以工作并以列表形式读取数据。后来,我将无法将其分为训练和测试以创建神经网络。每个图像的大小也不同,那么我应该如何处理呢?
请对此提供帮助。不胜感激。
谢谢 普拉奇
答案 0 :(得分:0)
有许多读取图像以馈入模型的方法。一种基本方法是将图像转换为numpy数组。对于图像的zip文件,您可以执行以下步骤来获取图像的numpy数组。这适用于任何Python内核,无论是Google Colab还是您本地的内核。
import zipfile # unziping import glob # finding image paths import numpy as np # creating numpy arrays from skimage.io import imread # reading images from skimage.transform import resize # resizing images # 1. Unzip images path = 'your zip file path' with zipfile.ZipFile(path, 'r') as zip_ref: zip_ref.extractall('path for extracted images') # 2. Obtain paths of images (.png used for example) img_list = sorted(glob.glob('path for extracted images/*.png')) # 3. Read images & convert to numpy arrays ## create placeholding numpy arrays IMG_SIZE = 256 (image resolution of 256 x 256 used for example) x_data = np.empty((len(img_list), IMG_SIZE, IMG_SIZE, 1), dtype=np.float32) ## read and convert to arrays for i, img_path in enumerate(img_list): # read image img = imread(img_path) # resize image (1 channel used for example; 1 for gray-scale, 3 for RGB-scale) img = resize(img, output_shape=(IMG_SIZE, IMG_SIZE, 1), preserve_range=True) # save to numpy array x_data[i] = img
毕竟,您有一个包含图像的numpy数组x_data
。然后可以使用此数组来训练或测试模型。
希望这会有所帮助。