일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이분 탐색
- lazy propagation
- dfs
- 우선 순위 큐
- object detection
- 알고리즘
- 다익스트라
- 플로이드 와샬
- 가끔은_말로
- 너비 우선 탐색
- Overfitting
- 자바스크립트
- DP
- 크루스칼
- c++
- 백트래킹
- tensorflow
- 세그먼트 트리
- 가끔은 말로
- 분할 정복
- 회고록
- BFS
- NEXT
- back propagation
- 미래는_현재와_과거로
- dropout
- pytorch
- 조합론
- 문자열
- 2023
- Today
- Total
목록Code about AI/Python (21)
Doby's Lab
🤔 Problem몇 달 전부터 아나콘다에서 독립적인 작업 세팅을 추구하고 있어서, 시간이 날 때마다 세팅을 바꿔가는 과정을 겪고 있었습니다. 그리고, 이제야 완전히 독립된 작업 세팅이 만들어진 거 같아 아나콘다를 삭제하고, 그와 관련된 마지막 이슈를 정리하고자 합니다. 우선, venv를 통해서 가상 환경을 만들어 작업을 해오던 입장이었는데 아나콘다(아나콘다 내부의 파이썬 포함)를 완전히 삭제하고, 파이썬을 재설치해서 환경 변수까지 다시 세팅을 해주었지만, 삭제 이전의 가상 환경들은 모두 이전 아나콘다의 파이썬을 찾는 게 문제점이었습니다. (파이썬 파일을 실행시키면, 아래와 같은 오류가 발생합니다.)python test.py>>> No Python at '"C:\Users\user\anaconda3\py..
😀 Solution파이썬에서는 무한대 값을 아래와 같이 간단하게 나타낼 수 있습니다.inf_value = float('inf')minus_inf_value = float('-inf')문자열로 들어가는 'inf'가 'Inf'가 되든, 'INF'가 되든 상관없습니다.다만, float 타입이 아닌 int라면 아래와 같은 오류가 발생하니 유의해야 합니다.ValueError: invalid literal for int() with base 10: 'inf'
🤔 Problem본 포스팅에 들어가기 전, 유의사항을 알려드립니다. 이번 포스팅의 내용은 원격 저장소와는 아무런 관련이 없습니다. 조금 헷갈릴 수 있기 때문에 미리 적어둡니다. 이 글에서 말하는 패키지(라이브러리)는 '깃에서 클론한 레포지토리', '자체 개발 패키지' 등 로컬 상에 존재하는 패키지(폴더)를 의미합니다. '깃의 원격 저장소', 'PyPI'와 같은 원격저장소에 위치한 (아직 로컬에 설치하지 않은) 패키지와는 거리가 먼 내용입니다. 오픈소스를 핸들링하다 보면, 레포지토리를 clone하고, 해당 레포지토리로 이동하여 requirements.txt에 따라 설치하면서 아래와 같은 명령어를 자주 볼 수 있었습니다.pip install -e .option을 확인해 보면, '해당 경로에 위치한 패키지(..
🤔 Problem일반적으로 AI 프로젝트를 시작하기 위한 세팅을 고려할 때, 그 요소들 중 하나인 가상 환경을 고려하게 됩니다.왜냐하면, 로컬에 설치되어 있는 어느 패키지가 프로젝트마다 요구하는 버전이 다르기 때문에 이러한 충돌을 방지하기 위한 목적으로 가상 환경을 필요로 합니다. 그래서, 얼마 전까지는 conda를 활용한 가상 환경으로 프로젝트를 구성하고 만들어 왔지만, 의도치 않은 문제들이 발생하고 이를 완전히 해결하는 것은 다른 방식의 가상 환경을 고려해야 해결할 수 있겠다는 생각이 들었습니다. 우선, conda를 사용했을 때 오히려 패키지 관리에 의문이 들었습니다. 환경을 새로 파서 작업을 하고 있다 보면, '이건 다운로드한 적이 없는데 왜 실행이 되고 있지?'와 같은 이상한 현상이 나타났었습니..
🤔 Problem오늘 포스팅은 어떤 문제점을 겪었다기보다는 새로운 것을 발견한 것에서 시작한 포스팅입니다. 많이 접한 문법이지만, 이것이 무엇인지 어떻게 활용할 수 있는지를 다루어보려 합니다. 오픈소스를 보면, 이런 코드들을 많이 보게 됩니다.class Model(nn.Module): r""" param(1): ~~~할 때, ~~~로 지정 param(2): ~~~할 때, ~~~로 지정 """ def __init__(self, param1, param2): super().__init__() 처음 파이썬을 공부할 때는 따옴표를 3번 쓰는 것이 여러 줄 주석이라는 개념으로 알고 있었지만, 시간이 지나서 다시 저걸 찾아봤을 때는 docstring이라 불리고 있었고, 문자..
🤔 Problem파이토치 내에 클래스 내에 궁금한 메서드가 있어서 소스 코드를 보다가 문득 이런 문법을 보게 됩니다.def func(self, var1, var2): ... ... return self제가 임의로 만들어본 메서드입니다. 저기서 self를 리턴하고 있는데 '왜 self를 리턴하고 있는 것인가?'가 궁금했습니다.그래서 이번 포스팅에서는 이 것에 대해서 이야기해 봅니다. self가 의미하는 바가 인스턴스 본인을 참조하고 있다는 것은 이제는 너무나 명확하고, 당연한 관습입니다.헷갈리실 수 있겠지만, 문법이 아니라 관습입니다. self가 아닌 다른 걸로 해도 작동합니다. 거의 문법처럼 써서 그렇습니다. 아래의 코드도 정상적으로 작동하거든요 :)(물론, 현실에서 저러면 많은 욕을 ..
🤔 IntroPyTorch를 공부하다가 파이썬에서 OOP를 하게 되었습니다.예전에 파이썬에서 Class에 대해 공부한 것과 이번 학기에 학교에서 공부하게 된 객체지향프로그래밍(Java)을 통해 상속(inheritance)에 대한 개념을 알고 있었습니다.더 나아가 PyTorch 핸들링을 위해 파이썬의 상속에 대해 추가적으로 알게 된 점들을 정리해보고자 합니다.(+ 개념 정리 아닙니다. 개념에 대해서는 정리가 잘 된 부분들이 많기에 궁금한 부분들만 정리했습니다.) 해당 포스팅에서는 부모 클래스를 상속받는 자식 클래스의 Constructor(__init__ 메서드)에서 super().__init__()의 유무에 따른 차이를 알아봅니다.🤔 자식 클래스에서 super().__init__()을 하..
최근에 다른 분들 코드 분석을 하면서 알게 된 패키지입니다. 일반적으로 파일을 불러오거나 같은 파일 시스템을 이용하기 위해서는 os 모듈을 사용했었는데 pathlib을 사용하는 케이스를 많이 봐서 전체보다는 주로 사용하는 기능들을 정리해보려 합니다. 그리고, pathlib은 파이썬 3.4 이상부터 지원이 됩니다. 1. 객체로 선언 pathlib 패키지에서 Path를 불러와서 아래와 같이 Path()에 파일 경로를 담아 파일 경로를 하나의 객체로 선언합니다. from pathlib import Path file_path = './from/to/here' p = Path(file_path) 2. 문자열이 아닌 객체, os.path.join을 대체하는 연산자 '/' 우선, os와 다른 점은 파일에 대한 경로를..