![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/btd4yI/btsfvm9yQxm/MS4e7SlPDHq1UZL6fPxSx1/img.png)
https://www.youtube.com/watch?v=KHGoFDB-raE 출처는 다음 영상입니다. 해당 포스팅은 파이썬에대한 기초적인 선행지식은 있다고 가정합니다. [3B1B 따라잡기 list] 2023.05.11 - [Computer/코딩 개꿀팁] - [3B1B 따라잡기] 1. Manim 설치 with vscode 2023.05.12 - [Computer/코딩 개꿀팁] - [3B1B 따라잡기] 2. How to create Scene 이번에는 manim에서 코드 에러가 났을 때 어떻게 표시되는지, 어떻게 해결하는지 간단하게 알아보자, 파이썬의 에러메세지 출력과 크게 다를 바는 없다. 본인이 파이썬에 이미 익숙한 유저라면 굳이 이 포스팅을 읽을 필요는 없다. 1. NameError class Err..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bbEKeH/btseQlcpiqF/Ftq03OPsedEkN8siKduKrk/img.gif)
https://www.youtube.com/watch?v=KHGoFDB-raE 출처는 다음 영상입니다. 해당 포스팅은 파이썬에대한 기초적인 선행지식은 있다고 가정합니다. [3B1B 따라잡기 list] 1. 2023.05.11 - [Computer/코딩 개꿀팁] - [3B1B 따라잡기] 1. Manim 설치 with vscode 지난 시간에 Manim 설치하는 방법에 대해서 포스팅했다. 천리길도 딱따구리부터랬나 아무튼 파이썬도 제일 처음 시작하면 배우는게 무엇인가? hello world아니겠는가? 이번시간에는 정말 간단한 도형을 그리는 방법부터 공부해보자. from manim import * # import manim modules class Pith(Scene): def construct(self): s..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bjbPk9/btseNs30Pft/SAZ6cvkEcRLgVN5Mj6Hqv1/img.png)
오늘부터 3B1B 따라잡기라는 새로운 주제로 python extension인 manim에 대한 포스팅을 해보려 한다. 설치 및 학습은 윈도우11 환경에서 진행하며 visual studio code를 이용한다. Manim library는 choco라는 tool을 이용해 간편하게 설치하는 방법도 있다고 하는데 내 경험상 굳이 Manim 한번 설치할때 쓰겠다고 이런저런 라이브러리를 덮어놓고 설치하다보면 나중에 귀찮은일이 생겨서 '수동설치' 방식으로 설명한다. choco를 이용한 간편 설치는 아래 사이트를 참고해보면 좋을듯 https://gall.dcinside.com/mgallery/board/view/?id=manim&no=16&exception_mode=notice&page=1 념글요청) Choco를 이용..
코드앞에 nohup 코드 맨 뒤에 & 추가한다. 예를들자 python train.py --task fuck 실행을 하고자 한다. 근데 오래걸려, 일주일 예상해 이럴경우 백그라운드 작업이 진행되도록 하려면 다음과 같이 코드를 실행하자 nohup python train.py --task fuck & 1. 그냥 맨 뒤에 & 만 붙이면 컴퓨터 로그아웃시에는 프로그램이 종료된다. 그냥 내가 리눅스 환경에서 다른 작업을 할 수 있을 뿐이다. 2. 추가로 아예 리눅스 서버에서 로그아웃또는 mobaXterm같은 terminal을 종료까지해도 프로세스는 진행되게 하고싶으면 코드 맨 앞에 nohup까지 붙여줘야한다. 참고로 nohup은 no hang up의 줄임말로 그냥 프로그램 끊지마 이런 뜻이다. 아멘
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cV9VAL/btsak9Tu9uM/QHWuwdJdx0j6hkS9E731aK/img.png)
CUDA 등의 GPU 이용 환경은 이미 설치가 되어있다는 가정하에 설명합니다. (만약 CUDA 환경자체가 설정되지 않은것이라면... 약간은 고생할 생각을 해야된다... 리눅스에서 CUDA 설치는... 최악의 난이도...) 1. nvidia-smi명령어를 통해 내 시스템에 설치되어있는 GPU 상태를 확인한다. 2. [1번 빨간 동그라미 친 부분] 현재 서버에 설치된 GPU들의 number를 확인할 수 있고, 3. [2번 밑줄 부분] 각각의 GPU들의VRAM이 얼마만큼 사용중에 있는지를 확인할 수 있다. 여기서 내가 사용할 모델의 용량과 남아있는 GPU 메모리를 살펴보고 몇번 GPU를 사용할지 결정한다. 4. [3번 박스] 몇번 GPU에서 어떤 process가 돌아가고 있는지를 상세히 확인할 수 있다. 5...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/E7pSy/btr9DVn5UjS/PR7SCgOX0aZr4iVv38sk1K/img.png)
딥러닝 모델을 만들고 훈련 epoch를 돌리는데 이상하게도 시스템 RAM을 계속해서 잡아먹더라 GPU 메모리도 아니고 시스템 메모리를 계속해서 잡아먹는게 이상했다. 처음 보는 문제이다보니 해결하기 위해서 한참을 헤메였는데 언제나 그렇지만 답은 간단했다. 보통 Loss의 history를 저장하기 위해 loss_history라는 리스트를 만들고 epoch를 돌며 나오는 훈련셋에서의 loss값을 저장하는 경우가 많은데 loss_history.append(loss.item())와 같은 형태로 많이 이용한다. 여기서 loss의 단순 value값만 저장하면 되는데 따라서 우리는 loss.item()이라는 기능을 이용해서 그냥 단순 loss의 숫자값만 따로 떼와서 history에 저장한다. 근데 여기서 .item()..
파일을 다루다보면 한번에 파일명을 주루룩 바꾸고싶을때가 있다. 그런데 이게 glob이용하면 되는건 아는데 매번 까먹어서 아예 블로그에 박제시켜놓는다. import os from glob import glob path = "Your/file/path/" # 본인의 파일이 들어있는 경로를 복사해서 붙여넣기 하세요 files = glob(path + '*') for i, f in enumerate(files): new_f = os.path.join(path,'img_'+str(i)) # 변경될 파일명을 new_f변수에 저장합니다. # path 뒤, 'img_'+str(i) 부분은 본인이 원하는 파일 명으로 변경하면 됩니다. os.rename(f, new_f) 위 코드 실행시 바로 파일명들이 변경되니까 혹시 불..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/BgQmq/btr1XQhi8AP/SuHueUVtGFGePhOZqNyt41/img.png)
class ToDataset(Dataset): def __init__(self, df): self.df = df # self.src = df['src'] # self.tgt = df['tgt'] # self.label = df['pKa'] def __len__(self): return len(self.df) def __getitem__(self, index): src = self.df.iloc[index]['src'] src = src_embedder(torch.tensor(src, requires_grad=False)) tgt = self.df.iloc[index]['tgt'] tgt = tgt_embedder(torch.tensor(tgt, requires_grad=False)) label = sel..
Tensor형태의 데이터는 .is_cuda를 붙여보면 cuda위에 있을경우 True, cpu에 있을 경우 False를 반환한다. 따라서 확인하기 쉽지만 class instance인 model은 단순하게 model.is_cuda를 할 경우 attribute error가 난다. 모델이 cuda에 있는지 확인하기 위해서는 아래 코드를 입력하면 된다. next(model.parameters()).is_cuda (여기서 model은 본인의 모델을 저장한 변수 이름으로 바꿔야한다.)
- Total
- Today
- Yesterday
- Manimlibrary
- 기계학습
- MLE
- manim library
- 베이즈정리
- 백준
- 제한볼츠만머신
- 이왜안
- 나노바디
- kl divergence
- manimtutorial
- variational autoencoder
- eigenvalue
- MatrixAlgebra
- Matrix algebra
- eigenvector
- 최대우도추정
- 인공지능
- 3B1B따라잡기
- elementry matrix
- 선형대수
- MorganCircularfingerprint
- 3b1b
- 파이썬
- marginal likelihood
- kld
- ai신약개발
- nanobody
- 오일석기계학습
- manim
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |