일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DP
- 크루스칼
- 미래는_현재와_과거로
- 자바스크립트
- c++
- 이분 탐색
- 문자열
- 2023
- 플로이드 와샬
- back propagation
- 알고리즘
- 세그먼트 트리
- pytorch
- 백트래킹
- object detection
- BFS
- NEXT
- 분할 정복
- 다익스트라
- lazy propagation
- dfs
- 회고록
- 우선 순위 큐
- 조합론
- tensorflow
- dropout
- 가끔은 말로
- Overfitting
- 너비 우선 탐색
- 가끔은_말로
- Today
- Total
목록분류 전체보기 (562)
Doby's Lab
😀 Solution파이썬에서는 무한대 값을 아래와 같이 간단하게 나타낼 수 있습니다.inf_value = float('inf')minus_inf_value = float('-inf')문자열로 들어가는 'inf'가 'Inf'가 되든, 'INF'가 되든 상관없습니다.다만, float 타입이 아닌 int라면 아래와 같은 오류가 발생하니 유의해야 합니다.ValueError: invalid literal for int() with base 10: 'inf'
🤔 ProblemPyTorch에서 자주 쓰는 메서드들은 어느 정도 체득하면서 빠르게 핸들링할 수 있도록 하는 것이 좋은 거 같습니다. 이번 글은 그러한 메서드들 중에 자주 쓰이는 torch.where()에 대해서 정리해 보았습니다. 사실은 매우 간단합니다만, 완전히 체득을 해두는 게 앞으로 작업에 편할 거 같아서 일부러 글을 씁니다.out = torch.where(condition, input, other)condition은 BoolTensor입니다. True와 False만을 담고 있으며, True인 element 자리에 input이 들어가고, False인 element 자리에 other이 들어가게 됩니다.1. condition은 Boolean Masking으로 나타내기보통 condition은 원래의 ..
🤔 Problem본 포스팅에 들어가기 전, 유의사항을 알려드립니다. 이번 포스팅의 내용은 원격 저장소와는 아무런 관련이 없습니다. 조금 헷갈릴 수 있기 때문에 미리 적어둡니다. 이 글에서 말하는 패키지(라이브러리)는 '깃에서 클론한 레포지토리', '자체 개발 패키지' 등 로컬 상에 존재하는 패키지(폴더)를 의미합니다. '깃의 원격 저장소', 'PyPI'와 같은 원격저장소에 위치한 (아직 로컬에 설치하지 않은) 패키지와는 거리가 먼 내용입니다. 오픈소스를 핸들링하다 보면, 레포지토리를 clone하고, 해당 레포지토리로 이동하여 requirements.txt에 따라 설치하면서 아래와 같은 명령어를 자주 볼 수 있었습니다.pip install -e .option을 확인해 보면, '해당 경로에 위치한 패키지(..
오랜만에 글을 쓴다. 아직 한 해 회고록을 쓰기에는 절반밖에 지나지 않은 한 해지만, 일기도 안 쓰는 나의 지난날들을 기록해 두기에 한 해는 너무 길어서 쓰게 되었다. 저번 주에 종강을 하고 나서 난 체력적으로든, 정신적으로든 많이 지쳐있었던 거 같다. 종강을 하고 나서도 과제, 계절학기 등 종강이라 말할 수 없는 시간들을 보내고 있다. 시간이 지날수록 난 무언가를 얻기보다는 상실하며 살아가고 있는 듯한 기분을 느낀다. 솔직하게 말하면 많은 외로움을 느끼며 살고 있다. 어쩌면 내가 이 외로움들을 초래한 것인지도 모르겠다. 개인의 생각들이 농도가 짙어짐에 따라 다른 방향, 다른 활동들을 볼 수 있다. 정말 이게 한 과에서 이렇게 다양할 수가 있을까 싶을 정도로 그렇다. 그럼에도 불구하고, 그들 몇몇에게는 ..
🤔 Problem세션을 진행하던 중 논문 리뷰에 대해 피드백을 진행하다가 질문을 받았다. '모델 내에서는 ReLU를 쓰는데 왜 마지막에서는 갑자기 Sigmoid'를 쓰나요?', 솔직하게 당황했다.결론적으로, 간단히 말하면 이 질문에 대한 답은 확률로 간단하게 표현하기 위함이라 정리할 수 있다. 이에 대해서 'ReLU에 비해 상대적으로 Sigmoid의 Output이 기준 값 0.5에 의하여 0과 1로 판별하기 쉽다.(?)'라고 답한 거 같다. 사실 정확하게 기억이 안 난다. 암튼 틀린 답이었다. Sigmoid의 출력을 0 혹은 1로 가진다고 했었나? 그랬다면, 왜 그런 말을 했을까... 그리고, 나 스스로도 답이 시원찮아서 '모델 내에서 Sigmoid를 쓰지 않는 이유'라는 반대의 경우에서도 설명했다. ..
🤔 Problem비전 모델 오픈소스를 보다 보면, 종종 DropPath라는 클래스로부터 인스턴스를 생성하여 모델에서 사용하는 경우를 자주 봅니다. 또한, 이 DropPath를 사용하기 위해서는 timm이라는 라이브러리를 사용합니다. 그래서, 오늘은 DropPath가 무엇이며, timm이라는 라이브러리는 무엇인지 그 내부에 어떻게 구현되어 있는지를 기록해두려고 합니다.😀 DropPath란?(= Stochastic Depth)DropPath란 Dropout의 이름과 유사하게 기능도 유사한 역할을 수행합니다.이 개념은 Deep Networks with Stochastic Depth에서 등장한 개념으로 Residual connection의 구조를 가진 모델에서 사용할 수 있는 기능입니다. 논문에서는 이를 S..
🤔 Problem일반적으로 AI 프로젝트를 시작하기 위한 세팅을 고려할 때, 그 요소들 중 하나인 가상 환경을 고려하게 됩니다.왜냐하면, 로컬에 설치되어 있는 어느 패키지가 프로젝트마다 요구하는 버전이 다르기 때문에 이러한 충돌을 방지하기 위한 목적으로 가상 환경을 필요로 합니다. 그래서, 얼마 전까지는 conda를 활용한 가상 환경으로 프로젝트를 구성하고 만들어 왔지만, 의도치 않은 문제들이 발생하고 이를 완전히 해결하는 것은 다른 방식의 가상 환경을 고려해야 해결할 수 있겠다는 생각이 들었습니다. 우선, conda를 사용했을 때 오히려 패키지 관리에 의문이 들었습니다. 환경을 새로 파서 작업을 하고 있다 보면, '이건 다운로드한 적이 없는데 왜 실행이 되고 있지?'와 같은 이상한 현상이 나타났었습니..
🤔 Problem오늘 포스팅은 어떤 문제점을 겪었다기보다는 새로운 것을 발견한 것에서 시작한 포스팅입니다. 많이 접한 문법이지만, 이것이 무엇인지 어떻게 활용할 수 있는지를 다루어보려 합니다. 오픈소스를 보면, 이런 코드들을 많이 보게 됩니다.class Model(nn.Module): r""" param(1): ~~~할 때, ~~~로 지정 param(2): ~~~할 때, ~~~로 지정 """ def __init__(self, param1, param2): super().__init__() 처음 파이썬을 공부할 때는 따옴표를 3번 쓰는 것이 여러 줄 주석이라는 개념으로 알고 있었지만, 시간이 지나서 다시 저걸 찾아봤을 때는 docstring이라 불리고 있었고, 문자..