전체 글
-
Pycharm 설치하기(Feat. Anaconda) 및 환경설정공부(Archive)/ML DL 2019. 7. 10. 00:03
오늘은 데스크탑에 DL 환경을 구축해보려고 한다. DL 환경을 구축하기에 앞서 2가지 프로그램을 설치해야한다. 1. Pycharm Pycharm은 JetBrains에서 제작한 Python용 IDE로 많이 쓰이는 개발툴중 하나이다. 위키에 따르면 현용 파이썬 개발툴중에서는 가장 높은 완성도를 지니고 있다고 한다. Community버전은 무료로 제공되고 Professional 버전의 경우 유료(구독형)로 제공된다. 이 글에서는 Community 버전을 이용해서 설치하고자 한다. 2. Anaconda Anaconda는 패키지 관리와 디플로이를 단순케 할 목적으로 과학 계산을 위한 파이썬과 R 프로그래밍 언어의 자유-오픈소스 배포판이라고 한다. (위키피디아) 단순히 말하면 다양한 패키지들을 한번에 쉽게 설치해주..
-
Visual Studio 2019에서 OpenCV 4.1 사용하기공부(Archive)/OpenCV 2019. 7. 8. 19:47
프로젝트를 진행하기 위해 특정 영역을 검출해낼 필요가 생겨 작년 2학기에 배웠던 OpenCV를 떠올렸다. 새로 산 데스크탑에 OepnCV 환경을 새롭게 설치하며 그 과정을 써보고자 한다. 1. OepnCV 설치 (https://opencv.org/) OpenCV 공식 홈페이지의 Releases 메뉴에 들어가보면 OpenCV - 4.1.0을 찾을 수 있다. 환경에 맞는 OS를 선택하고 다운로드를 받는다. 다운로드가 완료된다면 아래의 그림과 같은 아이콘을 가진 프로그램을 볼 수 있다. 해당 프로그램을 실행시켜 관련 파일들의 압축을 풀어준다. 적절한 위치에 압축을 풀어주면 되는데, 이때 opencv라는 이름을 가진 폴더가 안에 있으므로 위치만 설정해주면 된다. 뿐만 아니라 "C:\"와 같은 위치에 압축을 풀어..
-
데드락(deadlock)이란?카테고리 없음 2019. 6. 12. 19:31
작성중 (2019.06.12) Deadlock은 multiprogramming 환경에서 일어나는 현상으로, 특정 리소스에 대해 여러 프로세스가 경쟁상태일 때 일어난다. 예를 들어 다음과 같은 경우를 살펴보자. 프로세스 1과 2가 각각 리소스 1, 2를 점유하고 있다고 가정해보자. 이때 다음과 같이 각각의 프로세스가 서로 점유하고 있는 리소스에 접근 요청을 한다면? 이때 만약 특별한 조치 없이 각 프로세스가 자신이 요청한 리소스가 자신에게 할당되기를 기다린다면 두 프로세스는 리소스를 할당받지도 못하고 계속 대기상태에 빠져있을 것이다. 이러한 상태를 deadlock이라고 한다. Deadlock은 다음 네 가지 조건을 만족할 때 발생한다. Mutual exclusion 하나의 리소스에는 한 번에 하나의 프로세..
-
우선순위 큐(Priority queue)공부(Archive)/Data structure 2019. 6. 12. 12:40
우선순위 큐는 큐와 같이 FIFO와 비슷한 특징을 갖는다. 다른 점이 있다면 큐에 있는 원소를 처리할 때 가장 먼저 들어온 원소를 먼저 처리하는 것이 아닌 우선순위가 가장 높은 원소가 빠져나간다. 따라서 우선순위 큐에 저장되는 원소들은 모두 우선순위를 갖는다. 얼마 전까지 우선순위 큐는 항상 힙으로 구현되는 줄 알았는데 검색을 해보며 찾아보니 아니라는 것을 알게 되었다. "우선순위 큐가 힙이라는 것은 널리 알려진 오류이다. 우선순위 큐는 "리스트"나 "맵"과 같이 추상적인 개념이다; 마치 리스트는 연결 리스트나 배열로 구현될 수 있는 것과 같이, 우선순위 큐는 힙이나 다양한 다른 방법을 이용해 구현될 수 있다." https://ko.wikipedia.org/wiki/%EC%9A%B0%EC%84%A0%EC..
-
캐시(Cache)에 대하여공부(Archive)/OS 2019. 6. 12. 12:03
캐시(cache)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 에디어테 접근할 수 있다. - https://ko.wikipedia.org/wiki/%EC%BA%90%EC%8B%9C 간단히 말하면 데이터를 불러오기 위해 기억 장소에 매번 접근하여 데이터를 불러오는게 아니라 접근 속도가 조금 더 빠른 공간에 미리 불러와놓고 쓰는 방식이다. 특히 이러한 캐시가 효율적으로 동작하게 하기 위해서 즉, 캐시 hit rate를 높이기 위하여 캐시에 저장할 데이터는 지역성(lo..
-
구글 이미지 크롤링(Google images download)SWMaestro(Archive) 2019. 5. 29. 15:39
Google images download 라이브러리를 이용한 간단한 크롤링 SWMaestro 과정에서 프로젝트 진행을 하기 위해 이미지들을 모아야 할 일이 생겨 다양한 방법으로 이미지 크롤링하는 방법을 찾아봤지만 이거다 싶은 내용들을 찾기가 힘들었다. 찾아봤던 내용 중 가장 쉽게 구글 이미지를 크롤링할 수 있었던 방법을 소개하고자 한다. - 라이브러리 다운로드 pip install google_images_download - 버전에 맞는 chrome driver 설치 https://chromedriver.storage.googleapis.com/index.html - 파이썬 코드(고양이 사진 크롤링을 위한 코드) from google_images_download import google_images_do..