본문 바로가기

Pytorch9

mmcv 라이브러리 Blackwell (sm_120), torch 2.7, CUDA 12.8 최근 출시된 NVIDIA 50시리즈나, Pro 6000 Blackwell 시리즈는 pytorch 버전이 2.7부터 지원이 된다.왜냐하면 새로운 버전이 출시되며 칩 버전도 변경되었기 때문이다. sm_120 : Blackwell - 50시리즈sm_89: Ada lovelace - 40시리즈sm_86: Ampere - 30시리즈 따라서 2.7 미만 버전을 설치하고 코드를 실행하면 아래와 같은 버그를 보게된다. PyTorch not supporting CUDA compute capability 12.0 (sm_120), required for the NVIDIA GeForce RTX 5060. 이 sm_120은 pytorch 2.7.0부터 공식적으로 지원해주는데 문제는 pytorch외의 라이브러리에서 발생하게 .. 2025. 9. 17.
터미널마다 다른 CUDA버전 적용하는 법 코드를 돌리다보면 어쩔 수 없이 다른 CUDA 버전을 사용해야 할 때가 있다.먼저 컴퓨터에 설치된 cuda 종류를 확인하자.ls /usr/local/ | grep cuda이제 원하는 버전을 아래 코드를 실행하여 적용하면 된다.export CUDA_HOME=/usr/local/cuda-11.3export PATH=$CUDA_HOME/bin:$PATHexport LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH이러면 그 터미널에서는 cuda 버전이 11.3 으로 적용된다. 아래 코드로 확인하자nvcc -V 2025. 3. 27.
랜덤시드 고정 안될때 Pytorch 실험할 때는 재현성을 위해 랜덤 시드를 고정해야 한다.이때 보통 다음코드를 써서 고정을 한다.print("random seed fix--")torch.manual_seed(args.seed)random.seed(args.seed)os.environ['PYTHONHASHSEED'] = str(args.seed)np.random.seed(args.seed)torch.cuda.manual_seed(args.seed)torch.cuda.manual_seed_all(args.seed)torch.backends.cudnn.deterministic = Truetorch.backends.cudnn.benchmark = Falsetorch.backends.cudnn.enabled = False이렇게 see.. 2025. 3. 25.
Pytorch Weighted cross entropy 구현 cross entropy는 일반적으로 torch.nn 라이브러리를 통해사용할 수도 있지만, 이를 변형하기 위해서는 cross_entropy를 구현할 수도 있어야 한다. 다음은 일반적인 cross entropy다.output = model(input)output = F.log_softmax(output, dim=-1)target = F.one_hot(label, num_classes = N)loss = -(target*output).sum(dim=-1)loss = loss.sum()/output.shape[0] 이때 weighted 옵션을 주면 다음과 같다.output = model(input)output = F.log_softmax(output, dim=-1)target = F.one_hot(label,.. 2024. 4. 26.
Pytorch Learnable parameter, 학습가능한 파라미터 만들기 우리가 pytorch 내에서 학습 가능한 파라미터를 만들어야 할 때가 종종 있다. 1 이때 nn.Module 내에 파라미터를 선언할 경우 parameter = nn.Parameter(torch.randn(10).cuda()) 위와 같이 선언하여 사용하면 된다. 2 nn.Module 외에서 위 파라미터를 선언한 후 아래와 같이 연산을 한다면 parameter = parameter.exp() parameter = parameter.double() 아래와 같은 ValueError: can't optimize a non-leaf Tensor 에러를 만나게 된다. 이는 이미 만들어진 파라미터를 다른연산으로 casting하였기 때문이라고 하는데 pytorch를 자세히 공부하지 않아서 이해는 안된다. 하지만 해결 방.. 2024. 3. 14.
우분투 Ubuntu Nvidia 드라이버, CUDA, cuDNN 설치 초보자때 CUDA 버전 업을 하려니까 Nvidia 드라이버 날아가고.. cuDNN 에러나고 난리났었는데설치 방법을 제대로 알려주는 블로그가 없었어서한번에 확실하게 설치하기 위해 정리했습니다.cnDNN 버전 9부터 사이트가 변경된것 같은데, cnDNN 8버전을 설치하는법을 기록해두었습니다.(cnDNN 8으로도 웬만하면 이상없이 사용가능할것입니다.) nvidia driver 삭제 및 설치부터 CUDA, cuDNN 삭제 및 설치까지 모두 정리했습니다.(본인도 nvidia 드라이버나 cuda 다시 설치할 때 이거 보고 설치합니다) 1. nvidia driver 삭제sudo apt-get purge nvidia*sudo apt-get autoremovesudo apt-get autoclean 어떤 블로그는 CUD.. 2023. 6. 8.