목록ML & DL (42)
Abstract CNN의 depth가 accuracy에 어떤 영향을 미치는지 investigate 네트워크의 depth를 늘렸을 때 significant한 성능 향상이 이루어짐 Introduction 최근 Computer vision의 다양한 문제에서 CNN이 높은 성능을 보여주고 있다. 해당 논문에서는 CNN 아키텍처를 설계하는 데 있어서 depth의 중요성에 초점을 맞춘다. 다른 파라미터들은 그대로 두고 3x3 Conv 레이어만 늘리면서 CNN의 depth에 따라 성능이 어떻게 달라지는지 확인한다. ConvNet Configuration 3x3 conv를 사용한다. Why? left, right, up, down, center 방향을 모두 capture할 수 있는 가장 작은 사이즈의 커널이기 때문 1..
ImageNet Classification with Deep Convolutional Neural Networks Abstract deep convolution neural network를 학습시켜 ILSVRC-2010에서 SOTA를 달성하였다. 제안하는 뉴럴넷은 convolution, max pooling, fully-connected layer로 구성되어 있으며 60 million 개의 파라미터와 650,00 개의 뉴런으로 구성되어 있다. f.c layer에서 오버피팅을 줄이기 위해 dropout을 적용하였다. ILSVRC-2012 competition에서도 2위와 큰 격차를 내며 SOTA를 달성하였다. 1. Introduction 현재 object recognition에서 머신러닝 기법을 사용하는 ..
Darknet은 C, Cuda로 만들어진 프레임워크로 뉴럴넷 모델을 만들 수 있는 오픈소스이다. 우분투 환경에서 오류로 인해 OpenCV가 설치가 안 되는 문제가 계속 발생하였다. 따라서 파이썬의 OpenCV를 사용하기 위해 Darknet 모델을 Keras 모델로 변환한다. 예전에 자동차번호판 인식 프로젝트를 할 때 Darknet으로 만든 모델을 Keras 모델로 변환해본 경험이 도움이 되었다. 이전 포스팅에서 미생 주연 인물 6명을 인식하기 위한 YOLOv3 모델을 Darknet을 사용하여 만들었다. 해당 Darknet 모델을 keras 모델로 변환해보고 테스트해본다. github에서 yad2k라는 키워드로 검색하면 쉽게 찾을 수 있다. 대부분이 YOLOv2 모델을 변환하는 코드였고 해당 코드를 이용했..
1. git clone https://github.com/pjreddie/darknet.git pjreddie/darknet Convolutional Neural Networks. Contribute to pjreddie/darknet development by creating an account on GitHub. github.com 2. 다운로드 후 Makefile을 열어서 GPU, CUDNN =1로 체크해준다.(동영상 테스트할 때 opencv가 필요한데 설치 오류로인해 opecnv는 잠시 제외함) 2.1 본인 그래픽카드에 따라 ARCH 부분 수정, RTX2070 사용 중이므로 ARCH= -gencode arch=compute_75,code=[sm_75,compute_75] \ 로 수정함 https:..
https://github.com/keplr-io/quiver Keras CNN 모델의 activation을 손쉽게 시각화해주는 툴 1. 환경구축 및 설치 pip install quiver_engine 또는 pip install git+git://github.com/keplr-io/quiver.git 으로 설치 시 케라스, 텐서플로 최신버전으로 설치됨 가상환경 새로 파서 keras, tensorflow, flask, flask_cors, gevent, numpy, pillow 개별적으로 설치함 2. 실행 file_utils.py에서 scipy.misc의 imsave 함수가 제대로 실행이 안됨 그래서 imageio 설치후 imageio.imwrite로 대체함 본인 모델 및 웨이트 파일 불러오고 실행 실행 결과
참조 깃헙 https://github.com/fizyr/keras-retinanet fizyr/keras-retinanet Keras implementation of RetinaNet object detection. - fizyr/keras-retinanet github.com 1. 환경구축 1.1 conda create -n env_name python=3.6 1.2 python setup.py build_ext --inplace 1.3 requirement.txt에서 keras==2.2.4, tensorflow-gpu==1.14로 수정 1.4 pip install -r requirement.txt 1.5 pip install --user git+https://github.com/cocodataset/..
케라스를 사용해서 만든 모델은 모두 케라스 레이어로 이루어져 있다. 만약 중간에 텐서플로우의 레이어를 사용하고자 한다면 텐서플로우 레이어를 케라스의 Lambda 레이어로 감싸주어야 한다. import numpy as np import tensorflow as tf from keras import Input, Model from keras.layers import Lambda x = Input((224, 224, 3)) h, w = 299, 299 y = Lambda(lambda inputs: tf.image.resize_bilinear(inputs, tf.stack([h, w]), align_corners=True))(x) model = Model(inputs=x, output=y) model.summa..
실제로 SVM을 사용할 때 중요한 부분에 대해 알아본다. 요즘에는 SVM을 쉽게 사용할 수 있는 좋은 라이브러리들이 많으니 처음부터 구현할 필요 없이 이를 통해 SVM을 쉽게 사용할 수 있다. 그러나 이러한 라이브러리를 사용한다 하더라도 우리가 해야 하는 것들이 있다. 첫째 C, 𝝈 등의 파라미터 값을 선택해야 한다. C, 𝝈에 따라 bias/variance effect가 달라질 수 있기 때문에 적절한 값으로 잘 선택해야 한다. 둘째, 어떤 커널을 사용해야 할지 선택해야 한다. 물론 커널을 사용하지 않을 수도 있다. 이러한 경우를 linear kernel이라고 부른다. SVM을 사용할 때 Linear kernel을 사용한다는 뜻은 커널을 사용하지 않는다는 뜻이다. 때론 linear kernel을 사용하는..