Before Start앞으로 해당 카테고리에서는 C++ 공부한 내용을 정리하고자 한다.사실, 파이썬을 보다 주로 사용하는 편이지만 (아무래도 딥러닝은 쪽은 Pytorch를 사용하니까...)그래도 컴퓨터 전공자라면 객체지향 언어인 C++이나 Java는 한 번쯤 다뤄봐야하지 않겠는가?TMI로 학부 때 학점 이수 빨리하고자 Java를 계절학기로 듣는 바람에 아직도 어색한 관계로,딥러닝과 별개로 코딩 공부를 위하여 C++를 하기로 했다. Why do we set the environment?C++을 하기에 앞서, 환경 설정에 다뤄보겠다.컴퓨터는 아래 사진 처럼 다양한 Operating system(운영체제)을 가진다.개인 별로 사용하는 것이 다른 것은 큰 문제가 되지 않으나, 프로젝트 등을 진행하기 위해서는 이..
오늘은 코드의 Pytorch와 현재 환경의 Pytroch의 버전 차이로 인해 발생하는 오류에 대해 알아보고자 한다. Pytroch의 버전에 따라 당연하게도 함수가 새로 도입되거나 변경되는 경우가 있는데 이번 경우가 이에 해당한다.AttributeError: module 'torch' has no attribute 'frombuffer'위 오류에서 나타난 torch.frombuffer는 Pytorch 2.0 이상에서 도입된 함수이다. 따라서 당연하게도 해당 오류를 해결하기 위해서는 현재 환경의 Pytorch를 업그레이드 시키는 것이 가장 간단한 해결책이다.그러나, 종종 현재 상황에 따라 Pytroch 업그레이드가 불가능한 경우가 있는데 그럴 경우 아래와 같이 코드를 수정하여 frombuffer 함수를 대..
오늘은 NVIDIA driver와 CUDA의 버전이 일치하지 않을 때 발생하는 오류 중 하나에 대해 알아보겠다. 매번 발생하는 것은 아니나, CUDA와 NVIDIA driver의 버전이 일치하지 않을 때 아래의 오류가 발생하는 경우가 있다.RuntimeError: r.nvmlDeviceGetNvLinkRemoteDeviceType_ INTERNAL ASSERT FAILED at "../c10/cuda/driver_api.cpp":27, please report a bug to PyTorch. Can't find nvmlDeviceGetNvLinkRemoteDeviceType: /lib/x86_64-linux-gnu/libnvidia-ml.so.1: undefined symbol: nvmlDeviceGet..
오늘은 docker에서 container 만들고 git을 당연히 설치했다고 방심하면 바로 발견되는 오류에 대해 알아보고자한다.git은 항상 있다고 방심하는 경우가 많아, 종종 git을 설치하지 않고 사용하면 아래의 오류 메시지가 발생할 때가 있다.bash: git: command not found 이럴 때는 당황 하지말고 우선 리눅스 패키지 관리 도구인 apt를 update해준 후, git을 설치해주면 된다.apt updateapt install -y git 여기서 -y 옵션은 설치 시 사용자에게 묻는 부분에 대해 모두 yes로 답하겠다는 옵션이다.해당 옵션을 사용하면, 설치가 끊기지 않고 한 번에 처리되어 편리하니 사용하는 것을 추천드린다.
티스토리를 개설한지 1년여년 다되어 가는 시점, 또 다른 새해가 밝았습니다. 자주 글을 쓰고 싶었으나, 여러모로 점점 바빠져 쓴 글이 생각보다 적은 것 같습니다.그래도, 대학원의 생활은 발전 중인 것에 의의를 둡니다.아직 졸업은 멀었고 해야할 일도 공부도 넘쳐나지만 또 다시 다짐을 해봅니다. 올 해는 더 자주 기초 개념을 잘 정리하는 시간을 갖도록.. ㅎㅎ최신 연구 부분만 생각하다 보면 기초를 잊고 살아가게 되는데티스토리에 글을 작성하는 것은 복기에도 도움이 되는 것 같습니다. 모두들 2025년도 화이팅합시다! :)감사합니다.
파이썬에서 집합을 다룰 일이 생긴다면 어떤 함수를 써야할까?바로 Set함수이다.Set함수는 기본적으로 제공되는 함수라 따로 라이브러리에서 import할 필요는 없다.그럼 본격적으로 알아보자! List to Set집합을 어떻게 만들어야하는지는 간단하다.List에 set()함수를 사용하기만 하면 된다.s1 = set([1, 2, 3])print(s1)#{1, 2, 3} set 자료형의 특징은 중복과 순서가 없다는 것이다.List 나 tuple의 경우 순서가 있어 인덱싱(indexing)이 가능하나, set은 불가능하다.인덱싱이 필요하다면 list()나 tuple()함수를 통해 다시 변환을 먼저 해줘야한다. 집합은 왜 사용할까?당연하게도, 대부분의 경우 교집합, 합집합, 차집합이 필요한 경우에 많이 사용하게 ..