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

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

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

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

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

분류 전체보기 (159)
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
[이왜안] EOFError: EOF when reading a line

PyTorch의 DataLoader는 num_workers > 0일 때,데이터 로딩을 별도의 subprocess(자식 프로세스) 로 실행하는데그런데 그 subprocess에서는 input() 같은 interactivity가 불가능함DataLoader의 num_wokrers 옵션을 0이 아닌 값을 주고 data class의 내부에 input() 함수를 사용했다면 EOFError: EOF when reading a line에러를 보게된다. 해결은 간단하다 DataLoader 코드에 num_workers 옵션을 0을 주면 된다.

Computer/이게 왜 안되지? 2025. 6. 23. 13:54
좋은 학회에 등재된 논문은 반드시 좋은 논문일까?

좋은 학회에 등재된 논문은 반드시 좋은 논문일까?반드시 그렇지만은 않다고 생각은 해오고 있었지만 최근 읽은 AbDiffuser라는 논문을 통해 반드시 그렇지는 않다는 것을 새삼 강렬히 깨닫게 되었다.해당 논문은 Deep Learning 분야의 저명한 Top tier Conference인 NeurIPs(NIPS) 논문으로 BK에서도 최상위 학회로 인정하여 IF 4.0을 인정하는, 1저자 등록되면 플랜카드가 붙을법한 저명한 학회에 메인 페이퍼로 나와 심지어 spotlight까지 받은 논문이다.그런데 나는 솔직히 이해가 안간다. 내가 해당 논문의 리뷰어였다면 나는 매우 부정적으로 해당 논문을 바라봤을 것이다. 실제로 open reivew 페이지를 가보면 리뷰어 중 한명이 나처럼 매우 부정적인 스탠스를 취하고 ..

Daily/etc 2025. 4. 24. 23:03
SO(3) group 회전 행렬의 so(3) group skew-symmetric matrix 변환

본 포스팅은 SO(3) group과 so(3) group의 면밀한 대수학, 공학적 개념에 대해서는 따로 다루지 않고 이해를 위해 직관적으로만 이야기합니다. 본인이 애초에 수학이나 로봇공학 전공자가 아니라 완벽하게 이해할 수도 없고 그런 수준의 이해를 요하지 않는 연구를 하고 있기 때문입니다😅일단은 둘 다 '3차원 공간상의 강체(또는 그냥 물체) 회전을 표현하기 위한 3x3 행렬을 의미한다'고 이해하고 넘어갑시다.이때 SO(3) group의 행렬을 R이라고 하고 so(3) group의 행렬을 S라고 하겠습니다. 이 둘의 면밀한 차이를 생각하기보다는 저는 다음과 같이 생각하는 편이 이해하기 쉽다고 생각합니다. 굵은 글씨로 표현된 대문자는 행렬을 의미합니다.숫자에는 서수와 기수가 있죠 하나, 둘, 셋으로 셀..

Background/Math 2025. 3. 31. 21:42
이전 1 2 3 4 ··· 16 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 벼랑끝 깃허브
  • 벼랑끝 강아지
TAG
  • 이왜안
  • 인공지능
  • nanobody
  • marginal likelihood
  • 최대우도추정
  • Manimlibrary
  • 제한볼츠만머신
  • Matrix algebra
  • 나노바디
  • 기계학습
  • MatrixAlgebra
  • 백준
  • manimtutorial
  • eigenvector
  • kl divergence
  • variational autoencoder
  • 3b1b
  • eigenvalue
  • MLE
  • elementry matrix
  • 선형대수
  • ai신약개발
  • 오일석기계학습
  • 베이즈정리
  • manim
  • manim library
  • 3B1B따라잡기
  • 파이썬
  • MorganCircularfingerprint
  • dataloader
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

티스토리툴바