Python

    [Python] Python Class에 대한 기초 정리하기

    [Python] Python Class에 대한 기초 정리하기

    절대 내일 객체지향 시험이라서 쓰는 포스팅 아님 지금까지 계속 공부 해야지 해야지 했던 객체지향에 대한 내용을 포스팅 해보겠다 ! :3 # Python의 Class Python에서 Class는 user-defined abstract data type이라고 볼 수 있다. 여기서 Abstract Data Type(ADT)란 (1) Encapsulation과 (2) Information hiding을 만족하는 객체의 class를 일컫는다. 각각을 자세히 이론적으로 알아보자면 다음과 같다. Encapsulation : 절차지향언어들과 달리 data type declaration과 operation이 함께 제공되는 것 Information hiding : 알고리즘과 데이터에 대한 detail을 굳이 제공하지 않는..

    [Python] 디렉토리 내 특정 파일 삭제하기

    [Python] 디렉토리 내 특정 파일 삭제하기

    이 Python 카테고리에는 각종 잊기 싫은 잡기술만 써놓는 것 같지만.. 기분탓이다 ! Python으로 특정 파일명을 가진 파일을 한번에 삭제할 수 있는 아주 이득인 방법을 알아냈다. 바로 다음과 같이 실행하면 된다. "특정문자" 안에는 삭제하고 싶은 파일들에 공통으로 들어간 특정 문자를 넣어주면 된다! import glob import os [os.remove(f) for f in glob.glob('폴더 경로/*특정문자*')]

    [Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..

    [Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..

    아주 복잡한 딥러닝 코드를 보다보면.. 디버깅 해야할 때가 한둘이 아니다! 특히 모델 특정 부분의 레이어의 차원이나, 무엇이 input으로 들어가는지 정확하게 파악하기 위해서는 디버깅이 필수적이다. 과거의 나는.. 이를 위해 주피터로 모든 config 파일과 dataloader부터 차례로 써내려가며 똑같은 환경을 만들어주기 위해 노력했으나... 이는 너무 불편할 수 있다. 따라서 이럴 때 python 전용 디버거 pdb를 사용하면 아주 간편하다! 사용법을 간단히 알아보자! # pdb 사용법 사실 구글링을 해보면 약 두가지의 사용법이 나오지만, 딥러닝 모델을 디버깅할 때는 특정 부분의 변수가 필요한 경우가 많으므로 하나의 유용한 방법만 공유하겠다. 내가 모델 내에서 디버깅하고 싶은 부분 아래에 다음과 같이..

    [Python] Segmentation label 시각화하기 - 픽셀 값이 너무 작을 때

    [Python] Segmentation label 시각화하기 - 픽셀 값이 너무 작을 때

    컴퓨터비전을 하다보면 segmentation label 픽셀값이 너무 작아서, imshow 등으로 시각화를 하면 잘 보이지 않을 때가 있다. 예를 들어서 binary segmentation이라 픽셀이 [0, 1]로 구성되는데, 이를 시각화하면 1은 너무 작은 픽셀 값이라 모두 검정 색으로 보이는 것이다. 따라서 이럴 때 시각화를 편하게 하는 두가지 방법을 기록해 놓으려고 한다. 1. matplot imshow 이용하기 편하게 matplot을 이용할 수 있다. 다음과 같이 말이다! import matplotlib.pyplot as plt plt.imshow(array) 그럼 아래와 같이 가시적인 이미지를 얻을 수 있다. (lane detection dataset 이다) 한가지 단점은, 가로 세로 축이 표시..

    [Python] shutil과 os로 디렉토리, 폴더 조작하기

    [Python] shutil과 os로 디렉토리, 폴더 조작하기

    컴퓨터 비전을 하다보면 디렉토리, 폴더 단위에서 python으로 파일을 나누거나 작업해야할 때가 생긴다. 따라서 간단한 명령어를 정리해놓으려고 한다. :) # 파일 리스트 출력하기 import os os.listdir(path) # 특정 파일의 경로를 다른 곳으로 이동하기 단 이 경우에는 "이동"이므로, 원래 저장소의 파일은 이동되어 존재하지 않게 된다. import shutil shutil.move(현재 파일 경로, 이동할 경로) # 특정 파일의 경로를 다른 곳으로 복사하기 위 경우 말고 원본 저장소에도 파일을 남겨두고 싶을 때는 copy를 하면 된다. import shutil shutil.copy(현재 파일 경로, 이동할 경로)