본문 바로가기

728x90

분류 전체보기

(81)
[그래프와 추천 시스템] 그래프란 무엇이고, 왜 중요할까? 최근 딥러닝 분야에서 그래프에 대한 관심이 매우 높아졌습니다. 특히 추천 시스템에서 GNN(Graph Neural Network)를 사용한 연구가 활발히 진행되고 있는 추세입니다. 그렇다면 그래프란 무엇이고, 이를 왜 추천 시스템에서 사용하는 것일까요? 그래프란 무엇일까? 그래프란 정점(node 또는 vertex)와 간선(edge)로 표현된 데이터 입니다. 그래프로 데이터를 표현하면 데이터 요소들간의 관계와 구조를 나타내기에 유용합니다. 실제로도 생각보다 그래프로 표현하기에 적합한 데이터들이 매우 많이 존재합니다. 예를 들면, SNS에서 친구 목록! 누가 누구를 팔로우하고, 팔로잉되고있는지 처럼 SNS 속 사람과 사람 간의 관계는 단순히 텍스트 데이터보다는 그래프로 표현했을 때 효과적입니다. 또는 화학 ..
[PyTorch] Tensor와 tensor PyTorch를 사용하다보면 Tensor가 있고, tensor가 있다. 그 둘의 차이는 무엇일까? 1. Tensor torch.Tensor란 PyTorch의 자료구조 클래스이다. tensor형 데이터를 담고 있는 클래스를 의미한다. 2. tensor torch.tensor는 어떤 데이터를 tensor 자료형으로 만들어주는 함수이다. (내부적으로는 데이터를 copy하는 구조) 즉, tensor를 통해서 어떠한 데이터를 Tensor 데이터 타입으로 만들어준다고 보면 된다. 다음 코드를 보면 의미를 이해하기 더 쉬울 것이다. >>> a = torch.tensor([1]) >>> a tensor([1]) >>> type(a) torch.Tensor 아래 document를 살펴보면 Tensor 구조체에서 사용할 ..
[tqdm] tqdm 진행바에 설명 추가하기 (set_description, set_postfix) tqdm 라이브러리를 사용하면 코드의 진행 상태를 진행바(progress bar)로 확인할 수 있어 매우 편리하다. 특히 시간이 오래 걸리는 코드같은 경우 종종 정말 이 코드가 돌아가고있는게 맞는건지 멈춘건 아닌지.. 대체 어느정도 더 기다려야하는지 의문일 때 tqdm 라이브러리는 매우 유용하다. 사용방법도 매우 간단하다. 아래와 같이 tqdm 라이브러리를 설치해준 후 !pip install tqdm 다음과 같이 코드를 돌려보면 a = range(10000000) for _ in tqdm(a) : continue 이렇게 진행상황을 살펴볼 수 있다. 주로 학습을 할 때 학습이 어느정도 진행되었는지 확인하는 용으로 많이 사용한다. tqdm은 단순하게 진행 상태만 확인할 뿐만 아니라 간단한 설명을 추가하여 현..
[Pandas] 데이터프레임 조건문에서 에러 (typeerror ' >' not supported between instances of 'method' and 'int' pandas) 데이터프레임에서 특정 조건에 해당하는 행만 selection하고 싶을 때 다양한 방법이 있다. 그 중에서 아래와 같이 원하는 컬럼명에 대해서 조건을 부여하여 행을 filtering 하는 방법이 있다. df[df.(원하는 컬럼명) (조건)] 예를 들면 이런 식으로! df[df.age > 20] 그런데 오늘 갑자기 filtering을 진행하니 다음과 같은 오류가 떴다. 맨날 하던건데 왜 안되지?? 하고 순간 엄청 당황했더라는.. typeerror ' >' not supported between instances of 'method' and 'int' pandas 에러를 보면 method와 int형에 대해 비교가 불가능하다는 것인데 왜 변수 명을 method라고 판단하지? 하고 당황했다. 알고보니 내가 필터링..
예상치 못한 (또는 이유를 모르는) GPU 에러 정리 참고 사이트 예상치 못한 GPU 에러 만났을 때 참고해볼만한 사이트 혹시 내가 만난 에러가 밑에 있는지 한 번 확인해보면 시간도 단축하고 좋을 것 같다! 이유를 알 수 없는 GPU 에러 정리(device-side assert, CUDA error, CUDNN_STATUS_NOT_INITIALIZED 등등…) brstar96.github.io
[Tensorboard] SummaryWriter import 시 kernel died 현상 from torch.utils.tensorboard import SummaryWriter # default `log_dir` is "runs" - we'll be more specific here writer = SummaryWriter('') 노트북으로 원격 서버에 접속하여 SummeryWriter를 불러오기만 하면 커널이 죽는 현상..! 찾아보는데 나랑 똑같은 증상이 없었고, 있어도 해결책에 대한 얘기가 없었다. 이유는 모르겠는데 다른 라이브러리들을 로드하기 전에 SummaryWriter부터 load하고 시작하면 커널이 죽지 않고 제대로 실행이 된다.. 사실 아직도 이유는 잘 모르으나 일단 급하게 해결해야하는 분들은 한 번 시도해보면 좋을 듯 하다. 혹시 이유를 알게 된다면 정리해두겠다!
[Tensorboard] tensorboard를 찾지 못하는 경우 / 서버 원격 접속 시 tensorboard 사용 못하는 경우 (ERROR: Could not find `tensorboard`. Please ensure that your PATH contains an executable `tensorboard` program) Tensorboard를 가상환경에서 launch가 안되는 현상이 발생했다. 찾아보니 notebook과 가상 환경 사이 어떠한 충돌 때문이라고 한다. ERROR: Could not find `tensorboard`. Please ensure that your PATH contains an executable `tensorboard` program 이럴 경우에는 임의로 환경 변수를 설정해주면 실행이 가능하다! os.environ['TENSORBOARD_BINARY'] = '/가상환경path/bin/tensorboard' 그러나 서버에 원격 접속하여 tensorboard를 사용하는 경우 tensorboard가 여전히 안뜨는 경우가 있다. 그럴 경우에는 다음과 같이 원하는 포트를 설정한 후 %tensorboar..
[Python] UserWarning 숨기는 법 / 경고메세지 숨기기 파이썬의 다양한 라이브러리들의 버전 변화에 따라 경고메세지가 뜨는 경우가 있다! 프로그램 실행 결과 또는 로그만 확인하고 싶은데 굉장히 거슬릴 때 이런 경고메세지를 안보이게 설정할 수가 있다. import warnings # 경고메세지 끄기 warnings.filterwarnings(action='ignore') # 다시 출력하게 하기 warnings.filterwarnings(action='default') 매우 간단한데 지금까지 메세지를 숨길 생각을 안하고 다 보고있었다니 놀랍다..!

728x90