![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nmbcK/btqyOU7CwVF/WLGMOrcukBmsu8opBjkxc0/img.jpg)
Java 기술면접을 대비해서 간단한 질문과 답을 정리했습니다. 질문 답의 출처는 여기입니다. 링크의 내용을 번역하면서 공부한 내용을 추가했습니다. 잘못된 내용이 있을 경우에 말씀 부탁드리겠습니다. 1. Java는 무엇인가요? : Java는 컴퓨터 프로그래밍 언어로서, 클래스와 객체 지향적인 언어입니다. 객체 지향 언어의 이점은 다음과 같습니다. 코드의 수정, 유지, 정비가 편리하도록 모듈화된 개발 코드의 재 사용성 증가 코드의 유연성, 신뢰성 증가 코드에 대한 이해 증가 2. OOP (Object Oriented Programming)은 무엇인가요? : OOP는 다음의 특징을 포함합니다. 추상화 abstraction 캡슐화 Encapsulation 다형성 상속 미리 정의된 타입은 객체여야만 한다. 사용자..
python 기술면접에 대비해서 자주 나오는 질문과 답을 정리하려고 합니다. 질문의 출처는 여기이며, 이 글의 내용을 공부하면서 번역했습니다. 번역하면서 추가로 설명을 넣거나 표현을 변경하였는데 잘못된 점 있다면 말씀 부탁드리겠습니다. 6. 버그를 찾거나 정적 분석을 할수 있는 어플리케이션이 있나요? :pychecker, 정적 분석에 사용. pylint, 파이썬 모듈들이 표준 코딩을 만족하는지 체크. 7. decorator는 언제 사용되나요? : 함수를 빠르게 변경할 때 사용 가능합니다. 8.리스트와 튜플의 주된 차이점은 무엇인가요? : 리스트는 mutable하고 튜플은 immutable 합니다. 9. 파이썬에서 메모리는 어떻게 관리되나요? : 파이썬에서는 개별적인 힙을 사용해서 메모리를 유지합니다. 따..
최근 Deep learning의 상용화가 많이 진행되면서 핸드폰과 같은 하드웨어들에서 사용하기 위해 "경량화"와 관련된 연구들이 많이 되고 있습니다. 그런 추세에 따라서 경량화에 대한 내용들을 깊게는 아니더라도 흐름에 대해서 알아보고자 정리하는 글입니다. 경량 딥러닝 기술은 크게 두가지로 나눠진다고 할 수 있습니다. 1. 알고리즘 자체를 적은 연산과 효율적인 구조로 설계하여, 기존 모델 대비 효율을 극대화 하기 위한 "경량 알고리즘 연구" 2. 만들어진 모델의 파라미터들을 줄이는 모델 압축(model compression)과 같은 기법이 적용된 "알고리즘 경량화"기술 1. 경량 딥러닝 알고리즘 경량 알고리즘 연구는 크게 세가지로 나눠질수 있습니다. 모델구조 변경, 합성곱 필터의 변경, 자동 모델 탐색 입..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qUt8p/btqxInQxjdT/UNJtCaBpJPc27xfvmKo7N0/img.png)
노트북을 새로 구매하면서 세팅하는 것을 정리하려고 적는 글입니다. 평소에 mac 혹은 ubuntu에서만 딥러닝 세팅을 했었는데 윈도우는 처음이라 정리해보려고 합니다. 1. 그래픽 드라이버, 파이썬 설치 기본 단계입니다. nvidia 사이트에 들어가서 적절한 그래픽 드라이버를 다운받습니다. 저는 Geforce experience를 설치해서 드라이버를 설치했습니다. 파이썬은 3.6버전을 설치했습니다. 2. Microsoft Visual C++ 2015 설치하기 기존에 visual studio를 설치하셨다면 해당 단계는 건너가셔도 될 듯합니다. tensorflow.org의 pip설치 내용을 보면 윈도우에서는 Microsoft Visual C++ 2015를 설치해야 한다고 나와 있습니다. 해당 링크에 접속해서 ..
keras에서 모델을 설계하고 학습(fitting)할 때 사용하는 메소드가 fit과 fit_generator가 있습니다. 두개가 다른 것은 아나 어떤 차이인지 정확히 몰라 구글에 검색을 해보니 이미 쉽게 정리해둔 글이 있었습니다. 간단하게 정리하자면 fit()은 scikit-learn의 fit메소드와 유사하다고 합니다. 저희가 학습에 사용할 데이터 x와 y 전체를 한번에 입력으로 사용한다고 합니다. 그만큼 memory를 많이 사용하겠지요. fit_generator()는 파이썬의 generator를 사용한 것으로 대용량의 데이터를 효율적으로 학습하기 위한 것이라고 합니다. 파이썬의 제네레이터를 통해 형성된 데이터들을 batch-by-batch로 학습하는 방법입니다. 이 메소드는 CPU를 parallel하게..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bKaORE/btqyMsclUFk/WIcBhhRJ9C1xxsaGMzKzDk/img.png)
얼마전 세팅한 RTX titan에서 딥러닝을 돌리는데 pycharm에서 "please increase xmx setting and shutdown pycharm" 이라는 메시지가 나와서 해결 정리하는 글입니다. 결론은 pycharm은 JVM기반으로 동작하기 때문에 메모리 조정이 필요하다는 것! 친절한 jetbrain에서 가이드를 공식홈페이지에서 제공해주고 있습니다. https://www.jetbrains.com/help/pycharm/tuning-the-ide.html 전체 메모리가 여유가 있어도 해당 설정에 따라서 out of memory가 날수 있으니 학습 중간에 후회하지말고 미리 세팅 하는것이 좋을듯 합니다. 구체적인 메모리 설정 방법을 다음과 같습니다. "Edit Custom VM Options...
이미지에 segmentaion에 사용할 라벨링 툴이 필요해서 검색 해봤는데 괜찮은 툴이 있어서 정리하는 글입니다. 1. LabelMe https://github.com/wkentaro/labelme labelme라는 툴인데 설치 및 사용이 간단해서 넓게 사용 가능할 듯함. 특히 json포맷으로 저장해주고 segmentaion된 이미지도 만들어줘서 편리. 2. VIA(VGG Image Annotator) 첫번째 툴은 사용하려면 파이썬 패키지들을 설치하고 하는 과정이 필요한데 이거는 다운받고 html을 실행하면 끝! 매우 간단하게 사용할수 있지만 단점은 labelme에서는 세그멘테이션된 이미지를 그리거나 하는 기능들이 있지만 이거는 annotating에 특화되어 있는 느낌입니다. 시각화같은 기능들을 필요할경..
최신 버전의 RTX TITAN을 장착한 컴퓨터에 Tensorflow gpu 버전을 설치하게 되어서 간단하게 정리합니다. 사실 외국 글들을 보면 너무 잘 정리된 글이 있어서 별도로 글을 남길 필요가 있을 정도지만 그래도 삽질 한거를 정리하고자... 간단하게 정리하면 RTX TITAN은 cuda10을 사용하기 때문에 설치방법은 "build from source" 입니다. tensorflow에서 1월정도에 RTX(cuda10)을 지원 해준다고 했는데 아직은 안되네요... * 해당글은 2019년 2월에 작성된 경험 및 정리글이므로 현재 버전의 텐서플로우와는 설치방법이 다를수 있습니다. 공식홈페이지의 설치방법을 진행해보시고 안될경우에 참고 해주시면 좋을듯 합니다. 최초에 일반적인 설치방법(pip install 등..
티스토리 블로그를 하면서 다른분들 처럼 이쁘게 코드를 넣고 싶었는데 방법을 정리해 봅니다. 많은 분들께서 SyntaxHighlighter를 사용하시는데 뭔가 사용할때마다 HTML코드를 넣어줘야해서 귀찮다고 느껴져서 다른거를 찾게 되었습니다..ㅎㅎ 그러다가 발견한 간단하게 사용 가능한 Color Scripter를 사용하려고 합니다. *현재는 티스토리가 업데이트되면서 "코드블럭" 기능을 기본적으로 제공해주고 있습니다. 이 글에 나온 방법들이 아니라 해당 기능을 사용하시는게 더 좋을거 같습니다...ㅎㅎ Color Scripter https://colorscripter.com/ 사이트에 접속하셔서 간단하게 사용 가능합니다. 들어가보시면 이런 화면이 나오는데 입력 하고자 하는 코드를 바로 입력하시면 됩니다. 언어..