import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import SGD
from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint, Callback
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# File I/O
import subprocess
import shutil
import os
from glob import glob
from datetime import datetime
import argparse
# 데이터 처리
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import KFold
# 이미지 처리
import cv2
%matplotlib inline
압축풀기
import zipfile
Dataset = "airline-safety"
train_path = "../input/dogs-vs-cats-redux-kernels-edition/train.zip"
test_path = "../input/dogs-vs-cats-redux-kernels-edition/test.zip"
with zipfile.ZipFile(test_path,"r") as z:
z.extractall(".")
with zipfile.ZipFile(train_path,"r") as z:
z.extractall(".")
fc_size = 2048 #fully connected size
seed = 10
nfolds = 5
test_nfolds = 3
width, height = 224, 224 #image
file_path = "../input/state-farm-distracted-driver-detection/imgs/"
train_path = "../input/state-farm-distracted-driver-detection/imgs/train"
test_path = "../input/state-farm-distracted-driver-detection/imgs/test"
n_labels = 10
labels = ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9']
State farm
EDA
Feature engineering
Cats vs Dogs
directory 만들기
import zipfile
Dataset = "airline-safety"
train_path = "../input/dogs-vs-cats-redux-kernels-edition/train.zip"
test_path = "../input/dogs-vs-cats-redux-kernels-edition/test.zip"
with zipfile.ZipFile(test_path,"r") as z:
z.extractall("../input_")
with zipfile.ZipFile(train_path,"r") as z:
z.extractall("../input_")
train_path = "../input_/train/"
test_path = "../input_/test/"
os.makedirs(train_path + 'dogs')
os.makedirs(train_path + 'cats')
각 sub-directory로 옮길 파일 list 생성
def is_dog(x):
x = x.split('.')[0]
return x == 'dog'
def is_cat(x):
x = x.split('.')[0]
return x == 'cat'
# Warning - index로 쓸 때 1이랑 True는 다름!
filenames = os.listdir(train_path)
dogs = list(map(is_dog, filenames))
cats = list(map(is_cat, filenames))
dogs = np.array(filenames)[dogs]
cats = np.array(filenames)[cats]
옮기기!
import shutil
for x in dogs:
shutil.move(train_path+x, train_path+"dogs/"+x)
for x in cats:
shutil.move(train_path+x, train_path+"cats/"+x)