본문 바로가기

전체 글

(18)
[python] enumerate(), range() 차이점 range range() 함수는 range(시작 숫자, 종료 숫자, step)의 형태로 사용한다. range의 결과는 시작숫자 이상 ~ 종료 숫자 미만의 컬렉션을 생성한다. 사용할 때, 시작 숫자와 step은 생략 가능하다. >>> range(5) range(0, 5) >>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>> for j in range(10,20,2): ... print(j) ... 10 12 14 16 18 # 파이썬에서 권장하지 않는 패턴 >>> s = [1, 3, 5] >>> for i in range(len(s)): ... print(s[i]) ... 1 3 5 # 파이썬에서 권장하는 패턴 >>> for i in s: ... print(i) ..
[Git] .gitignore 이해 및 적용하기 👋 Intro 안녕하세요, 유블린입니다. 이 글에서는 .gitignore가 무엇이고 왜 필요한지와 적용하는 방법을 다뤄보려고 합니다. .gitignore이란? github나 gitlab을 사용하다보면 .gitignore라는 파일을 보게 됩니다. 이 파일은 어떤 경우에 필요할까요? 1. 레포 안의 어떤 파일의 크기가 너무 크거나 2. 여러사람이 함께 사용하는 레포에서 충돌이 날 수 있는 __pychache__ 같은 파일이 있거나 3. 원하지 않는 파일을 업로드 할 때 등의 상황에서 .gitignore를 사용하게 됩니다. (물론 더 다양한 경우가 존재 할 수 있습니다😝) 즉, .gitignore 파일은 프로젝트 내에 업로드를 원하지 않는 백업, 로그, 모델, 컴파일된 파일 등을 git에서 제외 시킬 수 있게..
[PyTorch] torch.no_grad()와 model.eval()의 차이 👋 Intro 안녕하세요, 유블린입니다. 이 글에서는 torch.no_grad()와 model.eval()의 차이점을 다뤄보려고 합니다. 머신러닝 프레임 워크인 Pytorch로 모델 학습을 진행한 뒤 모델의 Evaluation을 진행 할 때 아래 처럼 model.eval()을 했는데 torch.no_grad()을 또 사용 하는 경우를 보셨나요? 혹은, 모델 학습은 잘 진행 했는데 Inference를 하는 중에 Memory leak이 발생한 적이 있나요? 후자의 경우에도 해결책 중 하나로 아래 코드를 제시 합니다. 왜 그럴까요? model.eval() with torch.no_grad(): for batch in data_loader: 여기서 저와 같은 의문을 가지셨다면, 잘 찾아오셨습니다. 저 또한 처음..