如何将自定义图像数据集加载到 X_train
How to load custom image dataset to X_train
我必须在 mnist 数据集上训练 GAN 模型,我必须用我的另一个图像数据集训练它
(X_train, _), _ = keras.datasets.mnist.load_data()
如何让保存在文件路径下的图片一样?
这是我正在处理的 kaggle notebook
https://www.kaggle.com/qbasit/vr-final
让我们对任何类型的图像数据集进行通用化。如果你的图片目录格式是这样的:
Data...
Images...
Apple class folder
Orange class folder
Mango class folder
如果文件夹名称中包含 class 图片,则文件夹中包含图片。然后您可以使用此代码将图像上传到您的 X 和 classes 到 y 变量。
首先给你的class名字的字典设置一个变量:
classes = {'Apple':0,'Orange':1,'Mango':2}
然后像这样复制路径:
APPLE_DIR='Images/fruits/Apple'
ORANGE_DIR='Images/fruits/Orange'
MANGO_DIR='Images/fruits/Mango'
在此之后使用此代码制作数据:
def assign_label(img,fruit_type):
return fruit_type
X = []
y = []
def make_data(fruit_type,DIR):
for img in tqdm(os.listdir(DIR)):
label=assign_label(img,fruit_type)
path = os.path.join(DIR,img)
img = cv2.imread(path,cv2.IMREAD_COLOR)
img = cv2.resize(img, (IMAGE_WIDTH,IMAGE_HEIGHT))
X.append(np.array(img))
y.append(str(label))
如果下面的 运行ning 代码在该函数中使用 try-except 时上述函数出错:
def make_data(fruit_type,DIR):
for img in tqdm(os.listdir(DIR)):
try:
label=assign_label(img,fruit_type)
path = os.path.join(DIR,img)
img = cv2.imread(path,cv2.IMREAD_COLOR)
img = cv2.resize(img, (IMAGE_WIDTH,IMAGE_HEIGHT))
except:
pass;
X.append(np.array(img))
y.append(str(label))
然后到运行函数使用这个代码:
make_data(classes.get('Apple'), APPLE_DIR)
make_data(classes.get('Orange'), ORANGE_DIR)
make_data(classes.get('Mango'), MANGO_DIR)
所有带有classes的图像将存储在X和y中。
您可以通过以下方式查看这些图像的形状:
len(X)
X = np.array(X)
X = X/255
X.shape //returns the shape (numberofImages,WIDTH,HEIGHT,CHANNELS)
使用的库是:
from tqdm import tqdm
from random import shuffle
from zipfile import ZipFile
from PIL import Image
import cv2
import numpy as np
import pandas as pd
这将解决您对图像的任何自定义数据集的问题。
我必须在 mnist 数据集上训练 GAN 模型,我必须用我的另一个图像数据集训练它
(X_train, _), _ = keras.datasets.mnist.load_data()
如何让保存在文件路径下的图片一样? 这是我正在处理的 kaggle notebook https://www.kaggle.com/qbasit/vr-final
让我们对任何类型的图像数据集进行通用化。如果你的图片目录格式是这样的:
Data...
Images...
Apple class folder
Orange class folder
Mango class folder
如果文件夹名称中包含 class 图片,则文件夹中包含图片。然后您可以使用此代码将图像上传到您的 X 和 classes 到 y 变量。
首先给你的class名字的字典设置一个变量:
classes = {'Apple':0,'Orange':1,'Mango':2}
然后像这样复制路径:
APPLE_DIR='Images/fruits/Apple'
ORANGE_DIR='Images/fruits/Orange'
MANGO_DIR='Images/fruits/Mango'
在此之后使用此代码制作数据:
def assign_label(img,fruit_type):
return fruit_type
X = []
y = []
def make_data(fruit_type,DIR):
for img in tqdm(os.listdir(DIR)):
label=assign_label(img,fruit_type)
path = os.path.join(DIR,img)
img = cv2.imread(path,cv2.IMREAD_COLOR)
img = cv2.resize(img, (IMAGE_WIDTH,IMAGE_HEIGHT))
X.append(np.array(img))
y.append(str(label))
如果下面的 运行ning 代码在该函数中使用 try-except 时上述函数出错:
def make_data(fruit_type,DIR):
for img in tqdm(os.listdir(DIR)):
try:
label=assign_label(img,fruit_type)
path = os.path.join(DIR,img)
img = cv2.imread(path,cv2.IMREAD_COLOR)
img = cv2.resize(img, (IMAGE_WIDTH,IMAGE_HEIGHT))
except:
pass;
X.append(np.array(img))
y.append(str(label))
然后到运行函数使用这个代码:
make_data(classes.get('Apple'), APPLE_DIR)
make_data(classes.get('Orange'), ORANGE_DIR)
make_data(classes.get('Mango'), MANGO_DIR)
所有带有classes的图像将存储在X和y中。 您可以通过以下方式查看这些图像的形状:
len(X)
X = np.array(X)
X = X/255
X.shape //returns the shape (numberofImages,WIDTH,HEIGHT,CHANNELS)
使用的库是:
from tqdm import tqdm
from random import shuffle
from zipfile import ZipFile
from PIL import Image
import cv2
import numpy as np
import pandas as pd
这将解决您对图像的任何自定义数据集的问题。