전체 글

전체 글

    [Linux/Ubuntu] 파이토치(Pytorch)를 설치하고 구성 해보자 !

    | 파이토치( Pytorch )에 입문하다. 그동안 ML/DL을 사용할 때 대부분은 텐서플로우(Tensorflow) 그리고 케라스(Keras)를 사용했었다. 사용하면서 불편함을 느끼지 못했고 무엇보다 익숙한 라이브러리다 보니 다른걸 접해볼 생각을 하지 않았다 ( 라이브러리 고민 할 시간에 결과를 더 빨리 만들어 내고 싶었을 수도 ) 그러던 중 새로운 프로젝트에 들어가면서 기존에 먼저 구현 했었던 선행 프로젝트들을 Catch Up 하는 과정이 필요했다. 연구들이 Open Source로 진행 되어 있는게 많아서 직접 코드를 열어보니 대부분이 Pytorch로 구현되어 있었다. Tensorflow는 너무 복잡하고 Keras는 너무 단순하고 그 중간이 PyTorch 여서 그런걸까 싶었다. 이유가 어찌 되었건 Py..

    [Linux/Ubuntu] Jupyter notebook Server 구성하기

    :: INTRO Python을 개발 하기에 참 편한 Tool 중 하나가 Jupyter notebook 이다. 바로바로 결과를 볼 수 도 있을 뿐더러, 결과도 직접 이쁘게 해서 보여주니 안쓸 이유가 없다. 특히 Python을 이용한 학습을 하고 있다면 Notebook 이라는 말대로 내가 공부한 과정을 결과값과 함께 그대로 남길 수 있어 자주 사용하고 있다. 그럼 만약 내가 들고 다니는 laptop에서 돌릴 수 없는 큰 프로젝트라면 어떻게 할까, 사양좋은 서버에서 돌리면 되지 않아? 라고 말하고 싶은가? 그렇다면 내가 딥러닝등을 학습할 예제를 Jupyter Notebook에서 돌리고 결과값과 함께 필기 해놓고 싶은데 GPU가 없는 Labtop 이라면 ? 이때 해결해 줄 수 있는 것이 바로 Jupyter No..

    Polyline 변환에 대해 알아보고 패키지를 사용해보자.

    :: INTRO Google API를 쓰다보면 가끔 위도, 경도 (Latitude, Longitude)가 아닌 Polyline 이라는 알 수 없는 포멧으로 데이터를 주는 경우가 있다. 실제로 해당 데이터를 받아보면 이게 무엇을 의미하는지 정말 전혀 알아 볼 수 없다. 당장 구현을 해야하는데 이게 대체 무엇을 의미하는 건지 알 수 가 없어서 생존을 위해 열심히 찾아본 것들을 본 포스팅에서 간단히 정리 하려고 한다. :: Polyline이 뭔데 ? Polyline은 일련의 좌표들을 '단일 문자열'로 저장 할 수 있게끔 해주는 손실 압축 알고리즘이다. 한 개 지점에 대한 위도, 경도가 아닌 여러 지점에 대한 위도 경도를 다뤄야 할 때는 [ (a,b), (c,d), (e,f) ] 등으로 자료를 다루어야 하는데,..

    iTunes 백업 경로를 변경 해보자 !

    언제나 소중한 내 맥북프로의 SSD용량, 어느날 문득 iPad Pro를 연결하니 백업할 용량이 부족하단다. 확인해보니 그동안 내 SSD를 50Gb 이상 차지하고 있던 내 백업들 .. iPhone과 iPad 백업까지 한번에 모두 맥북 프로에 저장이 되고 있었다 - _- ; 어디에 이걸 저장할까 곰곰히 생각해보던중에 평소 NAS에 맥북 프로와 iMac 백업을 하던걸 생각해서 똑같이 NAS로 올려 버릴까하다가 가지고 다니던 외장SSD에 해두면 여러모로 편리할 수 있겠다 싶어 외장 SSD로 백업 위치를 옮기기로했다. 처음에는 간단히 iTunes 어딘가에 백업 위치 변경이라는 이쁜 기능이 있겠거니하고 열심히 찾았으나 .. 없다 .. 어디에도 그런 버튼이 존재하지 않아 Goo선생님께 여쭤보니 심볼릭 링크로 대체하면..

    Google Maps API를 사용해보자 !

    작업중인 프로젝트에서 대중교통을 이용한 길찾기 기능이 필요했다. Naver API 에서는 자동차 길찾기만 제공해주고 있었으므로 다른 대안이 필요했고 Google Maps API 중 Directions API 를 사용하면 내가 원하는 일련의 결과를 얻을 수 있을것 같다는 생각이 들었다. :: 내가 필요한 것을 적어보자. 1. 출발지와 목적지를 위도, 경도로 검색 할 수 있어야 한다. 2. 대중교통과 도보만 이용한 경로가 결과로 주어져야 한다. 3. 주어진 결과를 위도, 경도로 변환하여 사용 할 수 있어야 한다. 4. 위의 작업을 되도록이면 Python에서 할 수 있었으면 한다. 기존에 Naver API를 사용하여 자동차 길찾기를 한 결과는 아래와 같은데, 경로에 해당하는 각각의 파란색 점의 위도, 경도를 ..

    [Book] 케라스 창시자에게 배우는 딥러닝

    기존에 텐서플로우를 이용하여 몇가지 문제를 딥 러닝으로 풀어본 바 있으나, 최근 여러 컨퍼런스에서 케라스를 이용하여 진행한 결과물을 보니 굳이 모든 문제에 텐서플로우를 적용하려 고집할 필요가 없다는 것을 느꼈다. 오히려 문제를 해결하는데 있어 기술적인 접근성을 낮추어 더 빠르게 결과를 만들어 낼 수 있는 하나의 훌륭한 수단이 될 것으로 생각하고 호시탐탐 케라스를 공부해 볼 기회를 노리던 중 본 책을 접했다. 들어가며, 이 책은 딥 러닝을 처음부터 배우거나 이해의 폭을 넓히 고자 하는 모든 사람을 위해 썼습니다. 머신 러닝 기술자나 소프트웨어 엔지니어, 대학생에 상관없이 이 책에서 배울 점이 있을 것입니다. 책 첫 머리 부터 마음에 들었다. 누구나 상관없이 이 책에서 배울 점이 있을꺼라잖나. 서적이 넘처나..

    [Book] 실습으로 익히는 JAVA [알쏭달쏭 자바 200제]

    프로젝트를 한창 진행하고 나면 해당 프로젝트에 쓰이는 Tool 만 사용 하다보니, 시간을 들여 이리저리 익혀 두었던 다른 언어들을 조금씩 잊기 마련이다. 특히 문법적인 부분과 테크니컬한 구현 부분에서 종종 Google의 힘을 빌리곤 한다. 최근에 Python과 관련된 프로젝트들을 위주로 하다보니 JAVA를 손에서 놓은지 조금 된 느낌이었는데 아니나 다를까 오랜만에 알고리즘 문제를 JAVA로 구현하려 하니 알고리즘에서 막히는것이 아닌 문법적인 부분에서 멈춰 있는 손가락이 애석 하기만 했다. 이럴때 시중에 있는 JAVA 입문서를 보는것은 시간적으로 너무 큰 낭비다. 물론 JAVA를 처음 접한다면 입문서를 사서 정독 하는 것을 기꺼이 추천 하겠지만 그렇지 않다면 간단히 큼직한 기능별로 실제 코딩을 하며 감각을..

    [JAVA] mac에서 Open JDK를 설치해보자 ( mac java 설치 )

    JAVA에 조금 관심을 가졌다면 Oracle JDK와 Open JDK가 있다는 것 정도는 알고 있을 것이다. 예전에는 JAVA 설치하자 하면 무조건 Oracle로 가서 뒤도 안 돌아보고 Download 한 다음 Path 설정을 해주었지만 요즘에는 Install을 하기전에 살짝 고민해보게 되는 게 사실이다. 개인적인 개발 용도로 쓴다면 사실 둘중 무엇을 쓰건 상관이 없으나 (구독 형태 제외) 실제 프로젝트 개발용도라면 맘편하게 Open JDK를 선택하는 편이다. 설치하기 전에 만약 Oracle JDK가 깔려있다면 아래와 같이 지워준다. sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/PreferenceP..

    [VSCode] VSCode에서 pyenv, virtualenv 설정하기

    pyenv와 virtualenv를 활용해 Python을 설치하고 버전관리를 하고 있던 중 VSCode에서 여러 버전의 Python을 돌릴 일이 생겼을 때, 또는 최초로 VSCode에서 pyenv를 잡아 줄때 사용 할 수 있는 방법이다. 일단 해당 프로젝트를 열고 아래를 보면 왼쪽의 폴더 구조에서 .vscode가 없을 것이다. 해당 폴더 안에 있는 task.json파일은 이 프로젝트를 가지고 VSCode를 실행할 때 어떻게 실행해라 라는 config가 담겨있는 파일이다. 한번 생성해보자. Command + Shift + b 를 누르면 이처럼 뜨는데 해당창에 task라고 입력한뒤 아래 나오는 No build task to run found. Configure Build Task ... 를 클릭. 당연히 Cr..