본문 바로가기

카테고리 없음

딥러닝 순서

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

read_image : 이미지 -> numpy로 (안좋음)

 

EDA : train label별 이미지 살펴보기
EDA: test image 살펴보기
EDA: meta data 확인하기 

 

Feature engineering

meta data로 이미지 분류
outlier 확인 + 제거
base_model 생성
generate생성 : data augmentation +
checkpoint + training

 

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)