딥러닝
-
[기초 3] data 가공딥러닝/tensorflow 2020. 6. 22. 23:31
근 2달 만에 블로그에 글을 쓸 여유가 생겼다. 기존에는 data 가공 부분에 generator를 서술하려고 했지만 tensorflow 2의 dataset과 비교해본 결과, 이 것이 좀 더 자원을 효율적으로 쓰는 이유로 dataset를 뼈대로 삼아 서술하려 한다. 튜토리얼은 tensorflow 사이트에 공식 문서화되어 있어서 이 것만 따라해도 쉽게 할 수 있다. www.tensorflow.org/guide/data_performance?hl=ko tf.data API로 성능 향상하기 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수 w..
-
[keras] generator를 이용한 multiple input data딥러닝/tensorflow 2020. 2. 17. 14:10
tensorflow 2.0의 keras를 사용하면서 하나의 모델에 여러 개의 input data를 넣어야하는 경우가 생겼다 그러면서 이전에 classification 모델을 복붙해서 진행하려고 했지만 그 모델은 input이 한 개여서 문제가 생겼다 그리고 해당 모델에 generator까지 같이 쓰려고 하니 좀 더 복잡해져서 예제 코드를 새로 만들었다 import math from keras.models import Sequential, Model from keras.layers import Dense, concatenate, Flatten batch_size = 16 seed = 100 def buildModel(): #first model first_model = Sequential() first_mo..
-
efficientNet 개발 (3)딥러닝/tensorflow 2020. 2. 12. 10:44
class Preprocess(): def __init__(self, batch_size, img_width, img_height): self.img_width = img_width self.img_height = img_height self.batch_size = batch_size def makeGenerator(self, train_x, train_y, fit_val): train_datagen = ImageDataGenerator(rotation_range = fit_val['rotation_range'],\ horizontal_flip = fit_val['horizontal_flip'],\ vertical_flip = fit_val['vertical_flip'],\ preprocessing_fu..
-
efficientnet 개발 (2)딥러닝/tensorflow 2020. 2. 12. 10:19
요 며칠 속이 뒤집어져서 이제야 글을 쓴다 일단 이전에 efficientNet 클래스 내부에 더 들어간 코드를 먼저 올린다 def fit(self, train_x, train_y): es = EarlyStopping(monitor='val_loss', mode='auto', verbose=1, patience=12) checkpoint = ModelCheckpoint(self.weight_path, \ monitor='val_acc', \ verbose=1, \ save_best_only=True, \ save_weights_only=True, \ mode='max') self.model.fit(train_x, \ train_y, \ batch_size=self.batch_size, \ epochs=5,..
-
efficientNet딥러닝/tensorflow 2020. 2. 8. 22:25
일단 이전에 pytorch 게시판에서 작성한 hardnet 등의 segmentation 이후의 classification 에 대한 모델 중 SOTA 알고리즘으로 efficientNet 을 사용하였다 efficientNet에 관련한 설명은 아래 링크에 잘 설명되어 있다 https://norman3.github.io/papers/docs/efficient_net EfficientNet: Rethinking Model Scaling for CNN. 참고로 그림 2(a) 에서 입력 크기는 \(\) 이고, 출력 크기는 \(\) 이다. norman3.github.io 그리고 내부에 쓰인 MBConv layer는 아래 링크의 linear bottleneck을 참조 https://n1094.tistory.com/29 ..
-
IOU loss딥러닝/pytorch 2020. 2. 7. 17:49
hardnet을 학습하면서 validation 이미지들의 iou 값이 계속 0.9를 못넘었다 그래서 loss function 문제인가 하고 이전에 사용했던 cross entropy 대신 iou loss를 사용하였다 링크는 아래 https://discuss.pytorch.org/t/how-to-implement-soft-iou-loss/15152 How to implement soft-IoU loss? I am trying to implement soft-mIoU loss for semantic segmentation as per the following equation. but loss is very low and I am not able to find the wrong step in the implem..
-
아파서 내일 할 것만 정리딥러닝/pytorch 2020. 2. 6. 12:02
새벽부터 메스껍고 구토할 거 같아서 병원에서 약타고 오후 반차... 오늘 unet 을 써서 학습하려고 했는데 일단 찾아놓은 것만 올려놓고 ㅌㅌ한다 unet 코드 https://github.com/milesial/Pytorch-UNet milesial/Pytorch-UNet PyTorch implementation of the U-Net for image semantic segmentation with high quality images - milesial/Pytorch-UNet github.com 여기서는 dice loss를 쓴다고 했는데 뭔 주사위 loss인가 싶어서 좀 찾아서 읽다가 눈에 초점을 잃어버림 다양한 loss에 대한 정리 https://lars76.github.io/neural-networ..
-
딥러닝 학습 양상딥러닝/딥러닝 etc 2020. 2. 5. 18:31
지금까지 다양한 프로젝트를 하면서 학습이 어떻게 되는지 하나하나 다 눈으로 확인해봤다 (강박증인가...) 암튼 분류 별로 하나하나 따져봤을 때 image classification 은 각 이미지가 어떤 class 인지 바로 학습을 진행하는 것으로 보였다 loss 값을 봤을 때 예를 들어 아래 이미지와 같은 느낌 근데 image segmentation을 진행하는 것을 보자니 이미지의 형태를 찾는다 -> 그 형태가 어떤 class에 들어가는지 찾는다 의 순으로 진행되는 것으로 보였다 그래서 중간에 잠깐 accuracy가 뛰었다가 다시 class를 탐색하면서 떨어졌다가 제대로 학습하는 느낌?으로 진행되었다 그리고 OCR의 경우의 학습 양상은 이렇다 텍스트의 길이를 탐색한다 -> 각 위치에 맞는 글자를 학습한다..