본문 바로가기

분류 전체보기

(171)
Visual Studio Code setup for C++ in ubuntu 18.04 (use not cmake) 이번 시간에는 Visual Studio Code 에 C++ 환경을 셋업해보겠습니다. 설치한 컴퓨터틑 우분투 18.04 입니다. 우분투 버전 체크는 터미널에서 $ lsb_release -a 커맨드를 쳐주면 확인할 수 있습니다. 저의 경우에는 gcc 가 설치되어 있어서 별도로 설치는 하지 않습니다. gcc 설치가 안되어있다면, $ sudo apt install build-essential 으로 해주시면 됩니다. vs code 는 설치되어 있다고 생각하겠습니다. 셋업 과정은 goodgodgd.github.io/ian-flow/archivers/vscode-tutorial Visual Studio Code setup for C++ « IanFlow Visual Studio Code 개발환경 세팅 (C++) 개인..
python if not , isinstnce 이번 시간에서는 파이썬 if not 에 대해 알아보려고 합니다. 조건문의 구조는 보통 아래처럼 일반화 됩니다. if 조건문: 실행문 elif 조건문: 실행문 else: 실행문 여기서 조금 디테일하게 이해할 필요가 있습니다. if True: print('참') # True 는 참 else: print('거짓') if False: print('참') else: print('거짓') # False 는 거짓 if None: print('참') else: print('거짓') # None 은 거짓 (None 은 False 로 취급됨을 위 코드에서 확인해주세요) ----------------------------- if 와 not 조건문 을 구분해서 보셔야 합니다. 저도 처음에 같이 결합해서 보다보니 이 부분이 좀..
python 범위 규칙, 할당, assignment, UnboundLocalError: local variable referenced before assignment 파이썬 namespace 를 공부하다 보면, unboundlocalerror 때문에 혼란이 오게 되는 경우가 있다. 이 포스팅은 그러한 사람들을 위한 포스팅이다. 먼저, 파이썬 네임스페이스에 대한 기본적인 이미지는 아래와 같다. 보통 파이썬에서 네임스페이스는 3가지가 있으며, 지역 네임스페이스, 전역 네임스이스, 빌트인 네임스페이스 가 있고, 위와 같은 관계이다. 그리고 아래 코드같은 예제를 보면서 알게 된다. # case1 z = 100 def func_3(x,y): print(locals()) a = x + y + z print("func_1 z", z, a) func_3(100,100) 아하! "전역 변수를 참조하여 지역 네임스페이스에 없을 경우, 전역 네임스페이스를 참조해서 처리하는구나!" 그러다..
python 3 부터는 f-string 만 기억하자. (문자열 포매팅) 파이썬 문자열 표기법을 보면 형식 문자열이라고 해서 % 기호의 좌측에 값이 들어갈 자리를 만들고, 우측에 값을 튜플형태로 넣는다. a = 0b1011011 b = 0xc5f print('이진수 : %d, 십육진수: %d' % (a,b)) 이러한 %-formatting 방식이 있고, 또 str.format()메서드 방식이 있는데 주로 python 2 에서 사용해왔다고 한다. 이러한 표기법에는 몇 가지 문제가 있다. 1번째 문제점은 형식화 식에서 오른쪽에 있는 tuple 내 데이터 값의 순서를 바꾸거나 값의 타입을 바꾸면 타입 변호나이 불가능하므로 오류가 발생할 수 있다. 2번째 문제점은 '가독성'이다. 위 코드에서 값을 변경해야 할 경우 tuple의 길이가 길어져서 가독성이 떨어진다. 딕셔너리에 있는 키는..
우아한 사이파이 리뷰 사이파이는 데이터 사이언스를 하는 사람이라면 꼭 알아야하는 라이브러리 중 하나입니다. 보통 넘파이를 많이 공부하지만 scipy도 수학적인 연산을 다루는 라이브러리이기에 꼭 알아야합니다. 딥러닝 관련 수학 공부를 하면서 scipy로 해당 부분에 대한 계산이나 연산 문제를 공부하는 것도 굉장히 좋습니다. 국내에 사이파이를 다룬 책은 많지 않습니다. 이 책에서는 딥러닝의 각 분야에서 알아야하는 이론적인 부분들을 사이파이로 잘 풀어놓았습니다. 예를 들어, 4장에서는 푸리에 변환을 다루는데 '음성' 쪽을 공부하는 분이라면 푸리에 변환을 기본적으로 공부하셨을 겁니다. 5장에서 다루는 희소행렬과 혼동행렬은 딥러닝을 위해서 기본적으로 알아야하는 부분들입니다. 추천 시스템이나 문서 간 유사도를 구하는 이론 및 예제를 해..
GANs IN ACTION 서평 GAN은 딥러닝을 공부하는 사람이라면 자연스럽게 배워야만 하는 영역입니다. 적대적 신경망이라고도 하는 이 모델은 굉장히 특별합니다. GAN(Generative Adversarial Network)은 비지도 학습에 사용되는 인공지능 알고리즘이며, 제로섬 게임 틀 안에서 서로 경쟁하는 두 개의 신경 네트워크 시스템에 의해 구현된다. 이러한 GAN을 본떠서 만든 최신 NLP 모델은 electra 가 있는데, 자연어처리 쪽에서는 bert, gpt 랑 같이 올해 많은 관심을 받은 모델 중 하나입니다. 여하튼 GAN은 이상적인 모델이라고 할 수 있는데 자세한 건 책을 통해서 이해하면 좋습니다. 우선, 이 책은 박해선 역자님이 쓰신 책인만큼 번역에 이상하게 느껴지거나 불편한 점은 없습니다. 주의할 사항은 "GAN i..
제이펍 '파이토치 첫걸음' 리뷰 오늘 리뷰할 '파이토치 첫걸음'은 작년, 자연어처리 국비 지원과정을 들으면서 당시 받은 책 중 하나이다. 현재 업무를 하면서는 tensorflow2 를 사용 중인데, 논문을 보고 오픈소스를 찾다보면 자연스레 pytorch에 대한 필요성을 느끼게 되었다. 여러 좋은 자료들이 있지만, 책을 통해 학습하는 걸 선호하기에 우선, 갖고 있는 pytorch 책을 먼저 학습해보려 한다. 최근, pytorch 에 대한 책들도 서서히 국내에 출간되는 것 같다. 이 책은 작년 6월쯤? 에 나온 책으로 보인다. 책은 200페이지정도 되는 정말 입문서 수준의 책이다. 이 책은 리눅스에 pytorch 를 파이썬 가상환경에 설치해서 세팅을 하도록 안내하는데, 혹시라도 윈도우에만 익숙한 사람이라면 리눅스는 조금 공부하고 쓰길 권하..
'이것이 C#이다' 리뷰 이 서평은 한빛미디어로부터 무상으로 제공받은 도서를 읽고 작성되었습니다. 시작합니다. 덧붙여서, 이번 서적은 자바와 c# 을 주로 사용하며 개발자로 5년 이상 일한 제 형이 대신 해주었습니다 :) 평소 C#을 사용하고 있는 개발자지만 정식으로 책으로 익힌 적은 없습니다. 자바를 알고 있는 상태에서 인터넷을 통해 간단히 배우게 되었으며, C# 관련 책을 보게 된 것은 이번이 처음인 것 같습니다. 기본서로써 기초적인 내용이 충실하고 C#을 한 번도 접해보지 못한 독자를 대상으로 하는 책으로써 편집이나 내용 전개 방식이 좋습니다. 어떻게 보면 다른 C# 기본서와 별다를 게 없다고 생각할 수도 있으나 중간중간의 '여기서 잠깐' 부분의 내용이나 퀴즈 등은 입문자에게도 꽤 도움이 될 내용이고, 숙련자에게도 한 번 ..