# 마우스 효과 팅커벨
본문 바로가기 메뉴 바로가기

벼랑끝 바이오 매드 컴퓨터 사이언티스트

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

벼랑끝 바이오 매드 컴퓨터 사이언티스트

검색하기 폼
  • 분류 전체보기 (160)
    • Background (63)
      • Biology (8)
      • Math (42)
      • Statistics (8)
      • English (5)
    • Computer (74)
      • 백준 풀이 (7)
      • 이게 왜 안되지? (24)
      • 코딩 개꿀팁 (28)
      • 3B1B 따라잡기 with ManimLibrary (15)
    • Paper (4)
      • Bioinformatics (2)
      • CS (2)
    • Daily (17)
      • review (6)
      • etc (11)
  • 방명록

Computer/코딩 개꿀팁 (28)
torch tensor 출력 갯수 늘리기 torch.set_printoptions

torch의 tensor를 사용하다보면 종종 출력이 대부분 ...으로 생략되어 내부의 값 확인이 어려운 경우가 있다.이럴때는 torch.set_printoptions()함수를 사용하면 된다.torch.set_printoptions(threshold=1000, edgeitems=10, linewidth=150)1. threshold은 default값은 1000이다. 이 값을 늘리면 텐서에 표시해야 할 값들이 threshold개수보다 많아질 경우에만 ... 형태의 생략을 표시하도록 한다. 10000정도를 줘버리면 아마 모든 텐서가 표시될 공산이 크다. 그러나 모든 텐서가 또 전부 표현되면 생략된것만 못한수준의 가독성 떨어지는 텐서가 될 가능성도 높으니 알아서 경험적으로 조절해서 사용하면 된다.2. edgei..

Computer/코딩 개꿀팁 2025. 7. 6. 22:22
벡터의 norm을 구하는 torch.linalg.norm

torch.linalg.norm함수는 N차원의 벡터의 norm값을 구하는 함수다.다음과 같이 사용한다. torch.linalg.norm(input, ord=2, dim, keepdim)v = torch.tensor([ [[3.0, 4.0, 5.0], [1.0, 2.0, 4.0]], [[0.0, 5.0, 5.0], [6.0, 8.0, 5.0]], [[5.0, 3.0, 9.0], [2.0, 1.0, 1.0]]]) # shape = (3, 2, 3) [BS, L, D]#### dim=0 (BS) ####print(torch.linalg.norm(v, ord=2, dim=0, keepdim=True))# tensor([[[ 5.8310, 7.0711, 11.4455..

Computer/코딩 개꿀팁 2025. 6. 27. 23:32
nvidia-smi에 쌓여있는 python 프로세스 한번에 처리하기

너 쌓여있잖아https://cryptosalamander.tistory.com/186 [Python / Linux] GPU 메모리 비우기, 프로세스 전부 종료하기GPU 메모리 비우기, 프로세스 전부 종료하기 pytorch나 tensorflow와 같은 인공지능 프레임워크를 사용하다보면, 중간에 예기치 않게 프로그램이 종료될 때가 있는데, 이 때 문제점이 data_loader의 num_worcryptosalamander.tistory.com본 포스팅은 해당 블로그의 글을 200% 참고하였습니다.그냥 내가 다시 구글링할 키워드 찾기가 어려울 것 같아서 코드 복붙합니다. Respect합니다.우선 프로세스가 쌓여있는 GPU Number를 확인해준다.주의) 다음 코드를 입력시 해당 GPU에 올라간 모든 python..

Computer/코딩 개꿀팁 2025. 6. 26. 22:49
nn.Module의 self.register_buffer에 대해 알아보자

종종 nn.Module을 상속한 class의 __init__에서 self.register_buffer라는 코드를 마주하게 되는데 몇번 공부하긴 했다만 매번 까먹어서 정리한다. self.register_buffer(name, tensor)self.register_buffer는 학습은 하지 않지만, 모델과 함께 저장/불러오기되는 텐서를 등록하는 코드이다.register_buffer에 등록된 파라미터들은 모델의 역전파가 되는 과정에서 학습되지 않지만 모델을 저장할 때, 예를들어 state_dict등에는 등록된다. 또한 .to(device)등을 이용해 CPU나 CUDA로 옮기는 기능도 정상적으로 작동한다.예를들어 class init 내부에 다음과 같은 코드가 있다면class MyClass(nn.Module): ..

Computer/코딩 개꿀팁 2025. 6. 26. 12:12
왜 torch 연산시에는 2의 배수를 사용할까?

코드를 공부하는데 다음과 같은 이해할 수 없는 코드가 있었다.if self.eight: max_length = math.ceil(max_length / 8) * 8이게뭐람? max length 를 8로 나누고 올림한 다음 다시 8을 곱해라? 뭐.. 뜬금없이 왜하는건지 모를 코드였는데 찾아보니 GPU연산 효율을 위해 8의 배수가 되도록 max_length를 맞추는 코드라고 한다.GPU 연산에 사용되는 CUDA는 8, 16, 32처럼 2의 배수로 align된 데이터에 대해서 연산 효율이 훨씬 좋다고 한다.특히 transform block이나 CNN에 대해서는 padding을 통해서 길이를 맞춰줄 경우 효율이 극대화 된다고 한다.그런 이유로 지금까지 MLP등의 모델에서 128, 256, 512등의 2의..

Computer/코딩 개꿀팁 2025. 6. 24. 19:57
torch DataLoader의 collate_fn에 대해 알아보자

약간 고급 코드로 들어가기 시작하면 DataLoader를 그냥 사용하는 경우가 드물어진다.보통은 DataLoader의 collate_fn이라는 메서드를 본인들의 데이터세트에 맞춰 직접 구현해서 사용하는 경우가 많아지는데 collate_fn을 지금까지 딱히 주의깊게 본 적은 없었다.나도 이제 슬슬 내 데이터를 직접 구현해서 추가하려고 하기 때문에 collate_fn의 동작 방식과 왜 사용하는지를 알고 있어야 할 것 같아서 정리해본다.DataLoader( train_dataset, batch_size=config.train.batch_size, collate_fn=PaddingCollate(), shuffle=True, num_workers..

Computer/코딩 개꿀팁 2025. 6. 24. 18:33
inf_iterator는 왜 쓰는걸까?

가끔보면 다음처럼 torch의 DataLoader를 inf_iterator라는 함수를 따로 만들어서 태우는 경우가 있다.def inf_iterator(iterable): iterator = iterable.__iter__() while True: try: yield iterator.__next__() except StopIteration: iterator = iterable.__iter__()train_iterator = inf_iterator(DataLoader( train_dataset, batch_size=config.train.batch_size, collate_fn=PaddingC..

Computer/코딩 개꿀팁 2025. 6. 24. 16:32
리눅스 사용자별 파티션 사용량 확인하는 코드

Sudo 계정으로 로그인 필요 sudo du -sh /home/*sudo 계정 비밀번호 입력하면 확인가능 맨날까먹어서 적어둠

Computer/코딩 개꿀팁 2024. 6. 10. 19:57
[꿀팁] 리눅스, 다른 계정의 아나콘다 가상환경이 안보일 때

리눅스 서버를 이용해 작업을 하다보면 가상환경 저장과 관리가 너무 복잡해지는 것을 막기 위해 주로 하나의 sudo 계정에서 가상환경을 만들고 나머지 작업자들은 각자의 계정에서 sudo계정의 env를 activation해서 사용하게 된다. 그러나 처음 가상환경을 사용해보는 사람들에게 또는 새롭게 시스템을 구축한 뒤 sudo 계정의 가상환경을 각 개인 계정에서 사용하는 방법은 상당히 헷갈린다. 나도 어제 새롭게 A6000서버를 설치하고, sudo 계정의 가상환경을 내 계정에서 사용할 수 있도록 하는 과정에서 약간의 문제가 있었기에 이것을 해결할 수 있는 방법을 적어둔다. 1. 일단 가장 큰 문제는 sudo 계정에서 conda create 등으로 생성한 가상환경이 conda env list를 통해 확인했을 때..

Computer/코딩 개꿀팁 2023. 11. 10. 16:28
[꿀팁] 리눅스 숨김파일 해제하는 방법/ ls -al말고 '해제'방법

리눅스에서 파일을 숨김으로 만드는건 파일명 앞에 .을 붙이는 것입니다. 따라서 숨어져있는 파일의 이름 앞에 붙은 .을 떼어버리면 숨김 해제가 됩니다. 그렇다면 필요한건 두 가지 기능입니다. 숨김된 파일 .test 파일 이름을 변경하는 기능 mv 다만, 리눅스 커맨드 기능에 익숙하지 않다면 mv기능을 사용하다 실수로 파일을 덮어씌워버리거나 엉뚱한 디렉토리로 이동시킬 가능성이 있으니 리눅스 커맨드에 익숙하지 않으시다면 반드시 아래처럼 진행하세요 예를들어 해제하고 싶은 숨어져 있는 파일 이름이 .test라고 가정합시다. 바꾸려는 파일이 존재하는 디렉토리로 이동 (cd 커맨드 사용, 반드시 해주셔야 합니다.) mv ./.test ./test로 파일의 이름 앞에 붙은 .표시만 뺀 이름으로 바꿔주면 됩니다. mv는..

Computer/코딩 개꿀팁 2023. 11. 10. 02:56
이전 1 2 3 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 벼랑끝 깃허브
  • 벼랑끝 강아지
TAG
  • 3b1b
  • 제한볼츠만머신
  • 베이즈정리
  • 나노바디
  • manimtutorial
  • 오일석기계학습
  • 선형대수
  • elementry matrix
  • manim library
  • 기계학습
  • Manimlibrary
  • eigenvector
  • nanobody
  • manim
  • eigenvalue
  • variational autoencoder
  • 파이썬
  • 최대우도추정
  • dataloader
  • marginal likelihood
  • MLE
  • Matrix algebra
  • MatrixAlgebra
  • MorganCircularfingerprint
  • 인공지능
  • 3B1B따라잡기
  • ai신약개발
  • 이왜안
  • 백준
  • kl divergence
more
«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바