일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- tokenizing
- python list
- Convolution Neural Network
- word embedding
- #실생활 영어
- #영어 명언
- 영어
- #English
- keras
- #1일1영어
- findContours
- #영어
- convexhull
- 완전탐색
- opencv SURF
- tensorflow update
- python 알고리즘
- 이미지 생성
- 딥러닝
- #실생활영어
- #프로젝트
- 영어명언
- c언어
- object detection
- #opencv
- text2img
- TensorFlow
- #일상영어
- python __init__
- #Android
- Today
- Total
목록02. Study (140)
When will you grow up?
그래프 탐색 알고리즘 : DFS / BFS 탐색(search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말합니다. 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있습니다. DFS / BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 합니다. DFS 와 BFS 알고리즘을 알아보기 전에 반드시 숙지해야할 두가지 자료구조와 재귀 함수가 있다. 1. 스택(stack) 자료구조 - 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조입니다. - 간단하게 삽입(insert), 삭제(delete) 연산이 있는데 삽입하면 제일 끝에 쌓이고, 삭제하면 제일 뒤에 있는 데이터부터 삭제된다. python으로는 간단하게 리스트를 이용하면 된다. stack = [] stac..
그리디 알고리즘 (Greedy Algorithm) - 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 - 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디얼르 떠올릴 수 있는 능력을 요구 - 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는 검토하여 문제를 풀어야 한다 (모든 경우 지금 당장 좋은 것만 고르는 방법이 최고의 방법이 아니므로) 대표적으로 동전 거스름돈 문제가 있다. 500원 / 100원 / 50원 / 10원 짜리 동전이 무한히 존재하는데 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러줘야 할 동전의 최소 개수를 구하라. 단, 돈 N은 항상 10의 배수이다. N이 1,280원이라면? 500 - 2 100 - 2 50 - ..
https://docs.floydhub.com/guides/environments/ List of Available Environments - FloydHub Documentation edit Environments Below is the list of Deep Learning environments supported by FloydHub. Any of these can be specified in the floyd run command using the --env option. If no --env is provided, it uses the tensorflow-1.9 image by default, which comes with P docs.floydhub.com 위 주소로 들어가면 확인할 수 있고,..
저번시간에는 Tensor에 대해 알아봤다 궁금하다면? 클릭 이번시간에는 딥러닝 라이브러리를 사용하는 이유이자, 딥러닝의 꽃? 이라고 불릴 수 있는(backpropagation?)을 자동으로 해주는 autograd에 대해 알아보자. Autograd ? - Tensor의 모든 연산에 대해 자동 미분을 제공하는 패키지이다. - 실행-기반-정의 (define-by-run) 프레임워크로, 코드를 어떻게 작성하여 실행하느냐에 따라 역전파(backpropagation)가 정의된다는 것. 만약 backpropagation을 알고싶다면 클릭 - 자동 미분 계산을 위해서 torch.autograd 패키지 안에 있는 Variable을 이용해야 동작이 가능해진다. Variable ? - autograd.Variable 클래스..
다양한 딥러닝 패키지 중, Pytorch를 빠르게 익히고자 정리를 합니다. 내용은 Pytorch tutorial, youtube를 기반으로 정리하였습니다. Pytorch ? - torch(lua)에서 pytorch(python)로 넘어오게 되었으며, python 기반의 과학 컴퓨팅 패키징이다. - Numpy를 GPU를 통해 가속화해서 빠른 연산이 가능하다. - 개인적으로, tf에 비해 코드가 좀 더 직관적인 면이 있다. 약간 class로 다 만들어서 그런가..? Tensor ? - Tensor는 pytorch의 자료 형 - 단일 데이터 타입으로 된 다차원 행렬이다. (일반적으로 ? 0d scalar, 1d vector, 2d matrix, 3d~nd tensor) - Tensor는 간단한 명령어 [.cu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjLZWq/btqCaTq0J5E/4v706sTq024Vc4xOzbQQNk/img.png)
Python을 이용하여 이미지를 보여주거나 확인할때 가장 많이 사용하는 cv2.imshow와 plt.imshow 함수의 간단한 차이점을 살펴보겠다. 사용할 이미지로는 구글 로고를 이용하겠다. 필요 라이브러리 import import cv2 import matplotlib.pyplot as plt from matplotlib.image import imread cs # image load mat_img = image.imread('90.png') # (230, 579, 4) cv_img = cv2.imread('90.png' ,0) # (230, 579) cs .png 파일로 저장되어 있기때문에, matplot 에 imread로 읽을시 원본 그대로 읽는것 같다. 그래서 4채널로 들어오게 되는데 만약 cv ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dCxyls/btqBW0o5bJz/Sz02yfmZvQ4c8qKHynRGc1/img.png)
https://github.com/fizyr/keras-retinanet fizyr/keras-retinanet Keras implementation of RetinaNet object detection. - fizyr/keras-retinanet github.com 위 깃허브를 참고하였으며, Window10 / Anaconda 환경을 이용하였으며 cuda 9버전 기준이다. 또한 우분투환경에서도 잘 동작한다. ~_~ 0. 만약 Anaconda 환경이 안깔려있으면 클릭, gpu버전을 셋팅한다. (제 그래픽 카드는 1080ti로 테스트 하였다) 1. Github에 들어가서 코드를 다운받는다. 2. anaconda 명령 프롬프트를 열어 가상화를 만들어준다. ex) conda create -n retinanet..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbZ29I/btqBNMYI0iq/LEee5wQyJo6VKdT4rlMcvK/img.png)
저번에 이에서 필터를 계속해서 알아보자. sobel fileter sobel filter는 3*3 이미지 필터를 사용하여 중심을 기준으로 각 방향의 앞뒤의 값을 비교해 변화량을 검출하는 알고리즘인데, 이미지 경사도의 계산방법이다. 예제를 통해 한번 알아보자. import cv2 import numpy as np import matplotlib.pyplot as plt origin_img = cv2.imread('image.jpg', 0) # gray scale # Sobel filter dx = cv2.Sobel(origin_img, cv2.CV_32F, 1, 0) dy = cv2.Sobel(origin_img, cv2.CV_32F, 0, 1) #visualization plt.figure(figsize..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcP7i3/btqBIIWWziE/5npxevLUU9HtKa2TkGUXPk/img.png)
저번 포스팅에서는 입출력과 관련된 내용을 다뤄봤다면, 이번에는 행렬조작과 색 공간 및 필터에 대해 알아보자. 행렬 조작 : 생성하고 채우고, 요소 접근하고 ROI(Region of Interest) import cv2 import numpy as np img = np.full((480, 640,3), 255, np.uint8) #img = np.full((480, 640,3), (0, 255, 0), np.uint8) # green #img = np.full((480, 640,3), (0, 255, 255), np.uint8) # yellow #img = np.full((480, 640,3), (0, 0, 255), np.uint8) # red cv2.imshow('white img', img) cv2...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cD53nR/btqBDWCFCJ0/yyiZhXP90QXn8do7NTS1EK/img.jpg)
컴퓨터 비전은 우리가 눈으로 보는것처럼 컴퓨터에 시각을 부여해 이미지를 분석함으로써 유용한 정보를 생성하는 기술이다. 컴퓨터 로봇 등을 통해 얼굴, 건물, 의료 등의 다양한 도움을 준다. 또한 인공지능 기술이 발전하면서 인식, 검출, 분할 등 기술의 진화 속도가 엄청나께 빠르게 발전하고 있다. 개인적인 공부를 통해 최종적으로는 SLAM(simultaneous localization and mapping) 기술을 습득하는것을 목표로 한다. 또한, 간단한 기본 예제부터 좀 더 심화된 예제를 다뤄보면서 기본기를 익히면서 진행하고 복습차원에서 블로그로 내용을 정리한다. window or ubuntu 환경을 이용하고 conda 환경을 통해 실습을 진행할 예정이다. 설치는 conda propmt에서 pip inst..