Oxygen Chrome

공부/Python 13

[torchvision] 분류 모델 종류/파라미터 수 - 가벼운 모델을 찾아보자!

이미지 분류 모델을 학습을 할 때는 레이어를 직접 짜는 방법도 있지만,,요즘 분류 task는 성능이 거의 완벽하다 할 수 있을만큼 사전학습 모델들이 잘 나와있습니다. PyTorch의 torchvision.models 라이브러리를 사용하면 다양한 사전 학습된 분류 모델을 불러와 학습에 활용할 수 있습니다. 이번 글에서는 torchvision에서 제공하는 주요 모델들의 종류와 각 모델의 파라미터 개수를 정리해보겠습니다.    현재 저는 3개의 클래스로 구성된 정말 간단한 이미지 분류 모델을 학습해서 테스트해보고 있는데 이미지 클래스간의 차이가 명확하다보니 최대한! 가볍고! 빠르게! 인퍼런스 할 수 있는 모델은 뭐가 있을까 테스트해보고 있어요. (성능은 모두 잘 나올 것이라 확신 ㅎㅎ..) 그래서 하나둘씩 모..

공부/Python 2025.03.04

[Python] 파이썬 import 한 라이브러리/모듈/패키지 경로 확인하는 법

예를 들어 아래와 같이 import 를 했다고 가정한다.import reimport osimport jsonimport torchimport requestsimport tifffileimport numpy as npfrom PIL import Image, ImageEnhancefrom shapely.geometry import box  pillow - Image 경로를 확인해보자.print(inspect.getfile(Image))  출력/usr/lib/python3/dist-packages/PIL/Image.py  +) from a import b 일 때print(inspect.getfile(a))를 하면 안되고,print(inspect.getfile(b))로 입력해야한다.

공부/Python 2024.11.15

[Python/에러 해결] 흑백 이미지 처리 시 IndexError: too many indices for array: array is 2-dimensional, but 3 were indexed

SAM2로 segmentation를 해보고 있었다. 기존에는 RGB, 3채널 이미지를 다루고 있었는데흑백 이미지로도 진행해보고 싶어서 바꾸어보았는데 문제가 발생했다.  기존 코드from PIL import Imageimage = Image.open("image/path.jpg") image = image.convert("RGB") # 생략가능image = np.array(image)masks = mask_generator.generate(image) 바꾼 부분image.convert("RGB") -> image.convert("L") 에러 메세지흑백 이미지를 처리하려니 채널이 맞지 않아 아래와 같은 오류가 출력되었다. IndexError: too many indices for array: array is..

공부/Python 2024.11.12

[Python] requests 사용 POST json 포맷 데이터 전송하기 (+ Status Code 400 409 오류 해결)

requests 라이브러리는 파이썬에서 HTTP 통신을 간편하게 보낼 수 있게 해주는 라이브러리이다.오늘은 requests로 POST하면서 정리한 내용을 포스팅 해보려 한다.(REST API 공부하려했는데 바로 사용하려면 라이브러리 갖다 쓰는게 최고인 듯 하다.) 나도 처음 해보는거라 잘 모르니 자세한 내용은 하단 독스 참고 !https://docs.python-requests.org/en/latest/user/quickstart/    우분투 24.04 / 파이썬 3.12.10 curl ? requests? 터미널 명령어 curl터미널에서 명령어로 간단하게 수행할 수 있는 curl은대부분 시스템에 기본으로 설치되어 있어 간단하다는 장점이 있습니다. 하지만, 터미널 명령어만으로 추가작업을 한다던지, 여러..

공부/Python 2024.10.31

[Python] virtualenv 가상환경 설치/실행/삭제

아나콘다(conda)를 회사에선 유료 버전으로 사용하라는 지침때문에.. virtualenv를 사용하게 되었다.    virtualenv를 사용하면 독립적인 가상환경을 사용할 수 있다. 기존 시스템에 영향을 주지 않아 라이브러리간 종속성 문제가 생기지 않는다.(python -m pip 으로 설치하기 번거롭잖아용 ㅎ ㅠ) 단점이라면, 로컬 환경에 사용하고자 하는 python version 파일이 있어야 해당 파이썬 버전으로 가상환경을 생성할 수 있다. 파이썬 버전별로 설치가 되어있어야 한다는 뜻입니다. . . . .     git clone으로 파일 받아 돌려보는 용도라면 git clone 먼저 -> 폴더 안에서 vitrualenv 생성을 추천! 그래야 다운받은 파일 지우면 환경도 같이 지워진다. (파일만 ..

공부/Python 2024.10.23

[Python] 파이썬 패키지/라이브러리 버전 정보 확인하기

매 번 번거롭게 파이썬 실행해서 .__version__ 하고 있었다.. 1. pip show 사용하기 pip show '이름' 예시 2. pip freeze 사용하기 pip freese | grep '이름' 1번 방식은 패키지 이름을 정확히 입력해야 하지만, 이 방식은 일부만 입력해도 볼 수 있어 더 간편하다. 자세한 정보를 확인하려면 1번 방식을 사용하는게 낫겠지만.. 대부분 버전 확인할 때 필요하기 때문에 이 방식을 추천한다. 예시

공부/Python 2023.10.17

[Python] 파이썬 여러 라이브러리 .txt 파일 이용하여 한번에 설치하기

아나콘다나 도커를 사용할 때 매번 라이브러리를 설치 해주어야 하는뎁 이게 또 매우 번거롭다. No Module named -> pip install -> No Module named -> pip install 무한 반복 .. 이럴 땐 필요한 라이브러리들을 아래와 같이 requirement.txt 파일로 만들어 한 번에 설치하면 편하다. (파일명은 마음대로 만들어도 당연히 상관없음) # requirements.txt 파일 예시 opencv-python==4.7.0.68 Pillow==9.3.0 scikit-image==0.19.3 scikit-learn==1.0.2 scipy==1.7.1 natsort tqdm PyYAML scipy pybullet pycocotools 한번에 설치해주기 .txt 파일이 ..

공부/Python 2023.09.06

[Python] 웹캠으로 영상 입력받아 움직임 감지하기

웹캠 영상을 모니터에서 확인하는 것은 잘 안된다.. 향후 성공하면 추가! import cv2 # 움직임을 감지하는 함수 def detect_motion(prev_frame, current_frame, threshold=1000): # 두 프레임 간의 차이 계산 frame_delta = cv2.absdiff(prev_frame, current_frame) gray_frame = cv2.cvtColor(frame_delta, cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray_frame, 25, 255, cv2.THRESH_BINARY)[1] # 이진화된 이미지에서 윤곽 찾기 contours, _ = cv2.findContours(thresh.copy(), cv2.RETR_..

공부/Python 2023.08.24

[Python] 파이썬 라이브러리 splitfolders 사용하여 train/val/test 데이터 나누기

splitfolders 설치 pip install split-folders input 폴더내에서 변하는 것이 아니라 output 폴더가 자동으로 생성되어 저장된다. import splitfolders # train:val = 8:2 splitfolders.ratio("input_folder_path", output="output_path", seed=1337, ratio=(.8, .2)) # train:val:test = 8:1:1 splitfolders.ratio("input_folder_path", output="output_path", seed=1337, ratio=(.8, .1, .1))

공부/Python 2023.08.08