공부방/Today I Learned 39

[TIL] sys.maxsize / (단일) 연결 리스트 / 파이썬 다중할당

[주절주절] - [Today I Learned] # sys.maxsize import sys test = sys.maxsize print(test) + 최대 이익 산출 # 책 풀이 import sys def best_profit(prices): profit = 0 min_price = sys.maxsize for price in prices: min_price = min(min_price, price) profit = max(profit, price-min_price) return profit prices = [7,1,5,3,6,4] best_profit(prices) - if-else문으로 비교 (X) → min, max 이용하기 (O) # 연결 리스트 - 배열과 함께 가장 기본이 되는 대표적인 선형 ..

[TIL] 파이썬 pass, continue, break / 선형자료구조 (배열, 스택)

[주절주절] 1~2개 파일이지만 github에 기록도 하고 있다. 오랜만에 잔디 심기~ 🌿 [Today I Learned] # 파이썬 pass, continue, break 1) pass: 실행할 코드 없음. 다음 행동 계속 진행. 2) continue: 해당 loop 넘어가고 다음 loop 진행 3) break: 해당 loop 멈추고 밖으로 # 선형자료구조 - 데이터가 순차적으로 배열되는 단일 레벨 자료구조 - 단일 레벨이기 때문에 한 번에 탐색이 가능하다. - ex. 배열, 스택, 큐, 연결 리스트 등 # 배열 - 메모리 공간 기반의 연속 방식 자료형 - 리스트는 크기를 지정하지 않고 자동으로 리사이징하는 동적 배열 ㄴ 원리) 초깃값을 작게 잡아 배열을 생성하고, 데이터가 추가되어 꽉 채워지면 늘려 ..

[TIL] 파이썬 정렬 함수 / Counter / defaultdict

[주절주절] - [Today I Learned] # 파이썬 정렬 함수 1) sort : '변수.sort()' 형태로 사용하며 원본을 곧바로 변형시킨다. (제자리 정렬) 따라서 별도의 추가 공간이 필요하지 않다. num_list = [5,2,4,1,3] num_list.sort() print(num_list) [1,2,3,4,5] 2) sorted : 원본을 변형시키지 않고 정렬된 결과를 return한다. print(sorted([3,4,5,1,2]) [1,2,3,4,5] + sorted(문자열)을 할 경우 문자열 각각의 문자를 sort, list로 return한다. - 두 메소드 모두 key와 reverse 파라미터를 갖는다. 1) key : 정렬의 기준이 될 값을 return하는 함수를 넣는다. lam..

[TIL] 파이썬 문자열 조작 / Deque

[주절주절] 하루만에 밀리다니... [Today I Learned] # isalpha(), isalnum() - 제약 조건에 대한 전처리를 위해 사용할 수 있다.- isalpha는 문자열이 영어 혹은 한글일 경우 참을, 그렇지 않을 경우 거짓을 return한다. - iaslnum은 문자열이 영어, 한글, 혹은 숫자로 되어 있을 때 참을 return한다. + 회문 검사 def is_palindrome(sentence:str) -> bool: strs = [] for char in sentence: if char.isalnum(): strs.append(char.lower()) while len(strs) > 1: if strs.pop(0) != strs.pop(): return False return Tr..

[TIL] 부동소수점 / 빅오(시간복잡도) / Python 자료형

[주절주절] 코테나 면접이 있는 기회들에 대비해 CS 기초/자료구조&알고리즘 야금야금 공부 시작! 여름동안 하루에 개념 1~2개씩 정리해보려고한다. (전공기초 때 다 배운 것들인데... 크흠) 여긴 간단하게 키워드 위주로 슥슥, 따로 깊게 공부한 내용이나 단독으로 정리해두고 싶은 내용은 다른 카테고리에 정리해볼 예정이다. 작심삼일 노노! 화이팅 😋 [Today I Learned] # 부동소수점 - 컴퓨터는 숫자를 2진법으로 저장한다. 실수(소수점이 붙어 있는 수)의 경우, 부동소수점(Floating point) 표현 방식을 통해 보다 효율적으로 숫자를 표현한다. + 직관적인 고정소수점 표현 방식도 있긴하지만, 사용하는 비트 수 대비 표현 가능한 수의 범위가 적고, 정밀도가 낮기 때문에 잘 사용되지 않고,..

[TIL] Python getattr()과 import_module

[주절주절]나는 아직 익숙하지 않은 코딩 스타일인데 종종 이런 것들을 이용해서 코딩하시는 분들이 있다. 1년에 1~2번 만날까말까이다보니 매번 헤매어서 정리해둔다! [Today I Learned]# getattr>>> getattr(object, name[,default])__builtin__ 모듈에 포함된 함수로, object에 존재하는 속성의 값을 가져온다. 세번째 인자로 default 값을 넘겨줄 경우 존재하지 않는 속성을 가져오려는 경우도 커버할 수 있다. class Number: def __init__(self): self.x = 10 self.y = 20 n = Number() print(getattr(n, 'x')) # 10 print(getattr(n, 'z')) # Attribute er..

[TIL] Python Multiprocessing

[주절주절]연구가 마음만큼 잘 안된다😱🤯😬🤪🥴🤮🤕 그래도 저 잘 살아있어요 !.! [Today I Learned]데이터를 가공하거나 정리할 때 폴더에 있는 모든 이미지를 대상으로 반복문을 작성해야할 때가 있다. 2~30000장 밖에 안되는 데이터임에도 시간을 꽤나 잡아먹는데, 이런 일이 말씀드렸더니 Multiprocessing을 이용해보라는 코멘트를 주셔서 찾아보게 되었다.# Multi processingMulti processing을 활용하면 복잡하고 시간이 걸리는 작업을 별도의 프로세스를 생성 후, 병렬 처리해 보다 빠른 응답속도처리 속도를 기대할 수 있다는 장점이 있다. 이론 자체는 1학년 전공기초 과목에서 배웠는데 다 까먹었다. 그땐 이런걸 왜 배우나 했지 프로세스: 메모리에 올라와 실행되고 있는..

[TIL] 서버 및 기본 환경을 세팅하자!

[주절주절] 업스테이지 서버 사용하려고 이것저것 깔고 설정 중인데... 어떻게 했는지, 새로 알게된 방법 뭐가 있는지 기록해두면 좋을 것 같아서 쓰는 글. 요즘 글 진짜 안? 못? 안썼다 [Today I Learned] # 아나콘다 설치 wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh bash Anaconda3-2019.10-Linux-x86_64.sh source ~/.bashrc + 카이스트 서버에서 잘 사용하고 있는 gpustat은 따로 패키지가 필요한 명령어였다! 이것도 설치해주자. pip install gpustat # 가상환경 생성 위의 과정까지 마치면 base라는 가상환경 실행된 상태. numpy 등 여러 유용..

[TIL] Pix2Pix HD(High-resolution Image synthesis and semantic manipulation with Conditional GANs) 논문 요약

[주절주절] - [Today I Learned] # Abstract - Conditional GAN을 이용해 Semantic label maps를 고화질의 실제 이미지로 합성. - 새로운 Adversarial loss와 Multi scale의 Generator와 Discriminator 이용 - Interactive visual manipulation framework ㄴ Objective Instance Segmentation map → 객체 추가, 제거 등 가능해짐. ㄴ 동일한 Input에 대한 다양한 Result # The pix2pix Baseline - U-Net 구조의 generator와 Patch-based fully convolutional network discriminator - Dis..

[TIL] 1월 둘째주~셋째주 연구실 일

[주절주절] - Deeplab v3 + - Pix2Pix HD [Today I Learned] # Pytorch Dataset - pytorch.org/docs/stable/_modules/torch/utils/data/dataset.html#Dataset - 커스텀 Dataset을 만들 때는 일반적으로 위의 Dataset 클래스를 상속 받고 몇몇 함수를 overriding해서 사용한다. - 이 때 Dataset은 추상 클래스(Abstract class)이다. 추상 클래스는 메서드 목록만을 가진 클래스로 상속받는 클래스에서 메서드 구현을 강제하기 위해 사용한다. 추상 클래스를 만들 때는 abstract base class의 약자인 abc 모듈을 가져와야한다. 그리고 클래스의 괄호 안에 metaclass ..