问题描述
我正在使用image dataset
。它具有12 different folders
和12 different classes
。因此,我想在reserve all images
的{{1}}中a single directory
。我正在为其编写代码,但它仅复制了总计all_im
。但是我的主文件夹包含808 images
。我如何more than 5000 images
从copy
到main folder
中的new folder
的所有图像?
我的完整代码:
Google-Colab
打印功能:from numpy.random import seed
seed(101)
from tensorflow import set_random_seed
set_random_seed(101)
import pandas as pd
import numpy as np
import tensorflow
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Dropout,Conv2D,MaxPooling2D,Flatten
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.metrics import categorical_crossentropy
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Model
from tensorflow.keras.callbacks import EarlyStopping,ReduceLROnPlateau,ModelCheckpoint
import os
import cv2
import imageio
import skimage
import skimage.io
import skimage.transform
from sklearn.utils import shuffle
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split
import itertools
import shutil
import matplotlib.pyplot as plt
%matplotlib inline
SAMPLE_SIZE = 250
# The images will all be resized to this size.
IMAGE_SIZE = 96
os.listdir('content/image_dataset')
folder_list = os.listdir('/content/image_dataset')
all_im_dir = 'all_im'
os.mkdir(all_im)
destination_path = "/content/all_images"
pattern = "/content/Weeds_dataset/*/*"
for img in glob.glob(pattern):
shutil.copy(img,destination_path)
输出:len(os.listdir('all_images'))
期望:主文件夹包含808 images
,但我只能复制5300 pictures
。
解决方法
您必须重命名图像。您可以在最后一个循环中添加一个计数器,然后使用该计数器命名图像。
from numpy.random import seed
seed(101)
from tensorflow import set_random_seed
set_random_seed(101)
import pandas as pd
import numpy as np
import tensorflow
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Dropout,Conv2D,MaxPooling2D,Flatten
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.metrics import categorical_crossentropy
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Model
from tensorflow.keras.callbacks import EarlyStopping,ReduceLROnPlateau,ModelCheckpoint
import os
import cv2
import imageio
import skimage
import skimage.io
import skimage.transform
from sklearn.utils import shuffle
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split
import itertools
import shutil
import matplotlib.pyplot as plt
%matplotlib inline
SAMPLE_SIZE = 250
# The images will all be resized to this size.
IMAGE_SIZE = 96
os.listdir('content/image_dataset')
folder_list = os.listdir('/content/image_dataset')
all_im_dir = 'all_im'
os.mkdir(all_im)
destination_path = "/content/all_images/"
pattern = "/content/image_dataset/*/*"
counter = 0
for img in glob.glob(pattern):
counter += 1
shutil.copy(img,destination_path + str(counter) + img.split('.')[-1])