728x90
반응형

https://www.kaggle.com/tongpython/cat-and-dog

# 
drive_path = "C:/-/-/Machine_Learning_P_Guide/Dacon/support/"
source_filename = drive_path + "dataset/archive.zip"
# 저장경로
extract_folder = "dataset/"
# 압축해제
import shutil
shutil.unpack_archive(source_filename, extract_folder)

 

# 저장경로
extract_folder = "dataset/"
# 저장위치
train_dir = extract_folder + "training_set"
test_dir = extract_folder + "test_set"
print(train_dir)

# dataset/train_set

 

import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator

import numpy as np
import matplotlib.pylab as plt

 

# rescale로 정규화
image_gen = ImageDataGenerator(rescale=(1/255.))

 

# flow_from_directory 함수 :폴더에서 이미지 가져와서 제네레이터 객체로 정리
# batch_size = 32 : 32개의 이미지를 로드
# target_size : 
# 
# seed : 랜덤 seed
train_gen = image_gen.flow_from_directory(train_dir,
                                          batch_size = 32,
                                          target_size = (224, 224,),
                                          classes=['cats', 'dogs'],
                                          class_mode = 'binary',
                                          seed = 2020)
test_gen = image_gen.flow_from_directory(test_dir,
                                          batch_size = 32,
                                          target_size = (224, 224,),
                                          classes=['cats', 'dogs'],
                                          class_mode = 'binary',
                                          seed = 2020)
                                          
                                          
                                          
                                          
Found 8005 images belonging to 2 classes.
Found 2023 images belonging to 2 classes.

 

# 샘플 이미지 출력
class_labels = ['cats', 'dogs']
batch = next(train_gen)
images, labels = batch[0], batch[1] # 0번 이미지데이터 1번 레이블
print(labels[:10])
plt.figure(figsize=(16,8))
for i in range(32) :
    ax = plt.subplot(4,8,i+1)
    plt.imshow(images[i])
    plt.title(class_labels[labels[i].astype(np.int)])
    plt.axis("off")
plt.tight_layout()
plt.show()



[1. 0. 1. 1. 0. 1. 1. 1. 0. 1.]

 

반응형

'Data_Science > Data_Analysis_Py' 카테고리의 다른 글

54. glob-clothes || conv 다중 분류  (0) 2021.12.07
53. glob-clothes || 데이터셋만들기  (0) 2021.12.07
51. cifar10 || imageDataGenerator  (0) 2021.12.07
50. ImageDataGenerator  (0) 2021.12.07
49. cifar10 || convolution  (0) 2021.11.26

+ Recent posts