공부방 67

[Python] Pythonic한 code 짜기

최성철 교수님의 Python 강의를 정리한 내용입니다. Pythonic한 code - 파이썬 특유의 문법을 활용해 효율적으로 코드를 짜는 방식. (하지만 요즘은 파이썬 특유라고 보긴 어렵다.) - 많은 개발자들이 이러한 스타일로 코딩하기 때문에 다른 사람 코드를 잘 읽고, 나 또한 효율적으로 코드를 작성하기 위해 익혀두면 좋다. 1) Split / Join - string을 다루는 방법 - split : 어떤 값을 기준으로 변수를 unpacking 해줌. items = "one two three" items.split(" ") # >> ['one', 'two', 'three'] - join colors = ["red", "blue", "green"] "-".join(colors) # >> 'red-blu..

공부방/Python 2021.04.19

[선형대수] Ch2. 선형시스템 및 선형 변환

www.edwith.org/ai251/joinLectures/195088 인공지능을 위한 선형대수 강좌소개 : edwith - 주재걸 교수 www.edwith.org 주재걸 교수님의 강의를 듣고 개인적으로 정리한 글입니다. 공부하면서 지속적으로 업데이트 될 예정입니다. 잘못된 내용에 대한 지적은 댓글로 부탁드립니다. :) Linear system : Linear equations (혹은 Linear system)의 집합 Matrix → Vector ① Column combination ② Row combination - 행렬과 벡터의 곱은 두 Column 벡터의 선형결합으로 이해할 수 있다. - 선형방정식 (Ax = b)에 대해 b가 A의 Column space 내에 존재할 때만 해가 존재한다. Span..

[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..

COCO Data format과 Pycocotools

COCO Dataset은 Object Detection, Segmentation, Keypoint Detection 등을 위한 데이터셋으로, 매년 전 세계의 여러 대학과 기업이 참가하는 대회에서 사용되고 있습니다. COCO Dataset 자체를 이용하기도 하지만, 데이터를 저장하는 방식인 COCO Data format 역시 많이 활용되기도 합니다. 오늘은 이 COCO Data format과, 이를 불러오고 사용할 때 유용한 COCO API인 Pycocotools에 대해 알아보려 합니다. 🎈 모든 내용은 제가 일하고 있는 회사에서 제공받은 데이터셋을 기준으로 작성한 내용입니다. COCO format을 따르는 데이터라고 전달받았지만, 공식 홈페이지에서 다운로드한 데이터 형식과 차이가 있을 수 있습니다. CO..

공부방/Vision 2021.03.30

[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 ..

[수리통계학] Properties of Point estimator and Methods of Estimation - MVUE 계산 흐름 정리

추정량 / MVUE / CRLB / Consistency / Sufficiency / Fisher's factorization / Exponential family / 지수족 / Rao-Blackwell / Completeness / SS / MSS / CSS / Lehmann-scheffe / MVUE 예제 수리통계학(2) - 중앙대학교 김원국 교수님 MathStat2020F 강의 자료 참고 학부생의 시험을 치르기 위한 정리임 감안해주시고, 잘못된 내용이 있다면 댓글 달아주세요. 새 창에서 열기 + 완벽히 종강하고 여유가 되면 졸업시험을 치를 미래의 저를 위해서... 조금 더 보충해놓도록 하겠습니다. 🧚🏻‍♀️

[TIL] Python class 상속과 super()

[주절주절] - [Today I Learned] # 상속(inheritance)과 메서드 오버 라이딩(overriding) - 클래스 상속이란 물려주는 클래스(Parent class, Super class)의 속성과 메서드를 물려받는 클래스(Child class, Sub class)가 갖게 되는 것. - 어떤 클래스를 상속받아 클래스를 정의했을 때, 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것이 메소드 오버 라이딩. class Person: def show(): print('Person!') class Student(Person): def show(self): print('Student!') Hye = Student() Hye.show() # super() super()는 자식 클래스에서 부모 ..