전체 글
멋지게 살고 싶다🐝 (이미지는 stable-diffusion으로 생성하였습니다.)
-
VGGnet은 2014년 ISLVRC 대회 (ImageNet 이미지 인식 대회)에서 준우승을 차지한 모델입니다. 이 글에서는 VGG16과 VGG19의 구조를 알아봅니다. 모든 컨볼루션 레이어의 커널사이즈는 3x3이며, 제로패딩이 적용되었습니다. VGG16은 5개의 블록 / 각 블록은 2, 2, 3, 3, 3개의 컨볼루션 레이어 / 각 블록의 컨볼루션 레이어는 64, 128, 256, 512, 512개의 필터수를 가지고 있습니다. 각 블록의 마지막단에는 maxpooling이 적용되었습니다. 이후에 4096개의 hidden layer 두 층이 있고, 1000개의 아웃풋을 softmax 활성화함수로 출력합니다. VGG19는 5개의 블록 / 각 블록은 2, 2, 4, 4, 4개의 컨볼루션 레이어 / 각 블록의 ..
VGGnet의 구조 + keras codeVGGnet은 2014년 ISLVRC 대회 (ImageNet 이미지 인식 대회)에서 준우승을 차지한 모델입니다. 이 글에서는 VGG16과 VGG19의 구조를 알아봅니다. 모든 컨볼루션 레이어의 커널사이즈는 3x3이며, 제로패딩이 적용되었습니다. VGG16은 5개의 블록 / 각 블록은 2, 2, 3, 3, 3개의 컨볼루션 레이어 / 각 블록의 컨볼루션 레이어는 64, 128, 256, 512, 512개의 필터수를 가지고 있습니다. 각 블록의 마지막단에는 maxpooling이 적용되었습니다. 이후에 4096개의 hidden layer 두 층이 있고, 1000개의 아웃풋을 softmax 활성화함수로 출력합니다. VGG19는 5개의 블록 / 각 블록은 2, 2, 4, 4, 4개의 컨볼루션 레이어 / 각 블록의 ..
2021.08.23 -
평소에 Convolution Neural Network (CNN)을 자주 들여다봅니다. 그러다보니 궁금증은 한없이 많고, 저처럼 CNN을 연구, 공부하면서 궁금해하실 분도 많을 것 같아 몇 자 끄적여봅니다. 어디까지나 광활한 정보의 바다에서 정답인지 아닐지 모를 정보를 바탕으로 정립을 해본 것이니, 내용이 틀리다면 언제든 말씀해주셔도 좋습니다. Convolution (합성곱) 아래 이미지에서, 초록색의 이미지에 노란색의 3X3 필터를 왼쪽위부터 오른쪽아래까지 한칸씩 합성곱을 한다. 그러면 핑크색의 feature가 나옵니다. 여기까지는 이론입니다. 실제 합성곱 필터를 적용하여 feature를 시각화해보면, 이런 양상을 띄게 됩니다. CNN은 입력에 가까울수록 edge, 색깔 등 큰 특징을 보고 출력에 가까..
Convolution layer에 대한 고찰평소에 Convolution Neural Network (CNN)을 자주 들여다봅니다. 그러다보니 궁금증은 한없이 많고, 저처럼 CNN을 연구, 공부하면서 궁금해하실 분도 많을 것 같아 몇 자 끄적여봅니다. 어디까지나 광활한 정보의 바다에서 정답인지 아닐지 모를 정보를 바탕으로 정립을 해본 것이니, 내용이 틀리다면 언제든 말씀해주셔도 좋습니다. Convolution (합성곱) 아래 이미지에서, 초록색의 이미지에 노란색의 3X3 필터를 왼쪽위부터 오른쪽아래까지 한칸씩 합성곱을 한다. 그러면 핑크색의 feature가 나옵니다. 여기까지는 이론입니다. 실제 합성곱 필터를 적용하여 feature를 시각화해보면, 이런 양상을 띄게 됩니다. CNN은 입력에 가까울수록 edge, 색깔 등 큰 특징을 보고 출력에 가까..
2021.08.18 -
파이썬에서 가장 기초적인 반복문인 for문의 정리와 함께 유용한 팁 몇가지를 소개해 드리겠습니다. for문은 아주 유용한 반복문입니다. 처리속도가 느릴 수 있지만 표현하기 참 편리한 방법이죠. 먼저, 반복가능한 여러 타입들을 보겠습니다. 제가 적은 것 말고도 아주 많은 예시들이 더 있을테지만, 제가 생각나는데까지 적어볼게요. 1. for문의 표현식과 반복가능한 타입 import numpy as np array_ = np.array([1, 2, 3, 4]) for i in array_: print(i) 1 2 3 4 list_ = [1, 2, 3, 4] for i in list_: print(i) 1 2 3 4 tuple_ = (1, 2, 3, 4) for i in tuple_: print(i) 1 2 3..
[python] python for문 정리 + 유용한 팁파이썬에서 가장 기초적인 반복문인 for문의 정리와 함께 유용한 팁 몇가지를 소개해 드리겠습니다. for문은 아주 유용한 반복문입니다. 처리속도가 느릴 수 있지만 표현하기 참 편리한 방법이죠. 먼저, 반복가능한 여러 타입들을 보겠습니다. 제가 적은 것 말고도 아주 많은 예시들이 더 있을테지만, 제가 생각나는데까지 적어볼게요. 1. for문의 표현식과 반복가능한 타입 import numpy as np array_ = np.array([1, 2, 3, 4]) for i in array_: print(i) 1 2 3 4 list_ = [1, 2, 3, 4] for i in list_: print(i) 1 2 3 4 tuple_ = (1, 2, 3, 4) for i in tuple_: print(i) 1 2 3..
2021.02.17 -
CIFAR-10 데이터 학습하는 방법을 조금 자세히 보겠습니다. 비교적 간단한 방법을 포스팅 한 것이며, 추후 다른 방법으로도 포스팅 하겠습니다. 먼저 제너레이터를 정의 하겠습니다. 제너레이터는 쉽게 설명하면 데이터를 한번에 메모리에 저장해놓고 한번에 학습하는 것이 아니라, 표현식을 정의만 해놓고 가용 메모리 범위 내에서 조금씩 반복하여 가져오는 아이입니다. 먹을 것으로 예를 들면, 사과 1000개를 먹어야한다고 가정할 때, 한번에 먹을 수 없겠죠?? 우리 위의 용량에는 너무 버겁습니다. 그래서 1개씩 1000일 나눠먹는 것과 같은 이치입니다. 또 써야하는 이유가 여러가지 있는데... 자세한 설명은 다음시간에 하도록 하겠씁니다. from tensorflow.keras.preprocessing import..
tf.keras로 CIFAR-10 데이터 학습하기CIFAR-10 데이터 학습하는 방법을 조금 자세히 보겠습니다. 비교적 간단한 방법을 포스팅 한 것이며, 추후 다른 방법으로도 포스팅 하겠습니다. 먼저 제너레이터를 정의 하겠습니다. 제너레이터는 쉽게 설명하면 데이터를 한번에 메모리에 저장해놓고 한번에 학습하는 것이 아니라, 표현식을 정의만 해놓고 가용 메모리 범위 내에서 조금씩 반복하여 가져오는 아이입니다. 먹을 것으로 예를 들면, 사과 1000개를 먹어야한다고 가정할 때, 한번에 먹을 수 없겠죠?? 우리 위의 용량에는 너무 버겁습니다. 그래서 1개씩 1000일 나눠먹는 것과 같은 이치입니다. 또 써야하는 이유가 여러가지 있는데... 자세한 설명은 다음시간에 하도록 하겠씁니다. from tensorflow.keras.preprocessing import..
2021.02.11 -
Windows에서 CUDA, cudnn 버전을 체크하는 방법입니다. Ubuntu에서 체크하는 방법은 >> https://beelinekim.tistory.com/98 CUDA version check 1. cmd (명령 프롬포트) 실행 2. nvcc -V 입력 3. 쿠다 버전은 노란색 글자 오른쪽의 V10.1.105입니다. CUDNN version check (CUDNN 8 이전) 1. C: > Program Files > NVIDIA GPU Computing Toolkit > CUDA > v10.0 (자신의 쿠다 버전) > include > cudnn.h 2. 위의 파일 메모장으로 열기 3. 아래 글 찾기 4. MAJOR, MINOR, PATCHLEVEL 순으로 버전입니다. 위의 cudnn 버전은 7...
windows CUDA, CUDNN 버전 확인 방법Windows에서 CUDA, cudnn 버전을 체크하는 방법입니다. Ubuntu에서 체크하는 방법은 >> https://beelinekim.tistory.com/98 CUDA version check 1. cmd (명령 프롬포트) 실행 2. nvcc -V 입력 3. 쿠다 버전은 노란색 글자 오른쪽의 V10.1.105입니다. CUDNN version check (CUDNN 8 이전) 1. C: > Program Files > NVIDIA GPU Computing Toolkit > CUDA > v10.0 (자신의 쿠다 버전) > include > cudnn.h 2. 위의 파일 메모장으로 열기 3. 아래 글 찾기 4. MAJOR, MINOR, PATCHLEVEL 순으로 버전입니다. 위의 cudnn 버전은 7...
2021.02.08 -
파이참 가상환경 생성, 인터프리터 설정하는 방법입니다. 아나콘다 가상환경 생성은 아니고, 파이참을 이용한 virtualenv (가상환경) 생성입니다. 파이참으로 폴더(프로젝트)를 열면 초기화면이 이럴것입니다. 인터프리터가 유효하지 않다고 나옵니다. 주황색 팝업의 오른쪽 Configure Python interpreter를 누르면 되지만, 없는 경우에는 왼쪽 상단의 File - Settings - Projects : xxx - Python Interpreter를 선택합니다. 그렇다면 이 화면이 나올 것입니다. 빨간색 네모의 설정 - Show All... 을 누릅니다. 그러면 이 화면이 나올 것이고, 빨간색 네모의 + 버튼을 누릅니다. 보라색 네모의 Virtualenv Environment가 활성화된 상태에..
Pycharm 가상환경 생성하기파이참 가상환경 생성, 인터프리터 설정하는 방법입니다. 아나콘다 가상환경 생성은 아니고, 파이참을 이용한 virtualenv (가상환경) 생성입니다. 파이참으로 폴더(프로젝트)를 열면 초기화면이 이럴것입니다. 인터프리터가 유효하지 않다고 나옵니다. 주황색 팝업의 오른쪽 Configure Python interpreter를 누르면 되지만, 없는 경우에는 왼쪽 상단의 File - Settings - Projects : xxx - Python Interpreter를 선택합니다. 그렇다면 이 화면이 나올 것입니다. 빨간색 네모의 설정 - Show All... 을 누릅니다. 그러면 이 화면이 나올 것이고, 빨간색 네모의 + 버튼을 누릅니다. 보라색 네모의 Virtualenv Environment가 활성화된 상태에..
2021.02.04 -
CIFAR-10 데이터 분석을 해보겠습니다. CIFAR-10은 대표적인 이미지 분류의 벤치마크 데이터셋입니다. 저는 CIFAR-10을 깃헙에 올려주신 github.com/YoongiKim/CIFAR-10-images 이 분의 레포지토리에서 데이터를 다운받아 작성하였습니다. from glob import glob import os import cv2 import numpy as np import matplotlib.pyplot as plt # base_dir은 현재 CIFAR-10이 들어있는 폴더로 지정해줍니다. base_dir = './' train_data = glob(os.path.join(base_dir, 'train\\*\\*.jpg')) test_data = glob(os.path.join(ba..
CIFAR-10 데이터 분석하기CIFAR-10 데이터 분석을 해보겠습니다. CIFAR-10은 대표적인 이미지 분류의 벤치마크 데이터셋입니다. 저는 CIFAR-10을 깃헙에 올려주신 github.com/YoongiKim/CIFAR-10-images 이 분의 레포지토리에서 데이터를 다운받아 작성하였습니다. from glob import glob import os import cv2 import numpy as np import matplotlib.pyplot as plt # base_dir은 현재 CIFAR-10이 들어있는 폴더로 지정해줍니다. base_dir = './' train_data = glob(os.path.join(base_dir, 'train\\*\\*.jpg')) test_data = glob(os.path.join(ba..
2021.02.04 -
만족도 굿, 실용성 굿, 소음은 아쉬움 USB 3.0 / 백라이트 백색 단일 / 68키 숫자 & 펑션 변경 Fn + PageUp or PageDown 코딩을 시작하고 몇년이 흐른 뒤에 키보드에 관심이 생기기 시작했습니다. 원래는 그냥 아무거나 주면 썼는데, 키보드를 만지는 직업이라 자연스레 관심이 가게 되더라구요. 브랜드, 축, 스테빌라이저 등등 여러가지 많이 찾아본 결과....!!!! 가장 맘에 드는 건 바밀로 키보드였습니다. 그 중에서도 SEA MELODY 선택!!! 저는 종합적으로 키보드를 볼 때 디자인이 이쁜걸 더 많이 선호하는 편이더라구요. 축에 윤활을 하고... 막 키캡을 바꿔끼우고 이런건 귀찮은지라😂 타건영상입니다. 동영상은 아직 많이 해보지 않아서 좀 서투릅니다. 장비도 없고... 조명도 ..
바밀로 SEA MELODY 68키 로즈축 사용기 +타건만족도 굿, 실용성 굿, 소음은 아쉬움 USB 3.0 / 백라이트 백색 단일 / 68키 숫자 & 펑션 변경 Fn + PageUp or PageDown 코딩을 시작하고 몇년이 흐른 뒤에 키보드에 관심이 생기기 시작했습니다. 원래는 그냥 아무거나 주면 썼는데, 키보드를 만지는 직업이라 자연스레 관심이 가게 되더라구요. 브랜드, 축, 스테빌라이저 등등 여러가지 많이 찾아본 결과....!!!! 가장 맘에 드는 건 바밀로 키보드였습니다. 그 중에서도 SEA MELODY 선택!!! 저는 종합적으로 키보드를 볼 때 디자인이 이쁜걸 더 많이 선호하는 편이더라구요. 축에 윤활을 하고... 막 키캡을 바꿔끼우고 이런건 귀찮은지라😂 타건영상입니다. 동영상은 아직 많이 해보지 않아서 좀 서투릅니다. 장비도 없고... 조명도 ..
2021.01.27