파이썬

파이썬

[파이썬 ] itertools 사용법

순열을 이용해 완전탐색 문제를 풀 때, dfs와 같은 재귀를 사용해야만 하는 경우도 있다. 그러나 재귀는 overflow를 유도하는 가장 쉬운 방법이기 때문에 항상 사용할 때 유의해야 한다. 우리는 이제 순열 조합을 이용한 문제를 코드 한 줄로 풀 수 있다. combinations() # 조합 combinations_with_replacement() # 중복조합 product() # 데카르트 곱 permutations() # 순열 combinations(iterable, r) iterable에서 원소 개수가 r개인 조합 뽑기 from itertools import combinations if __name__ == '__main__': iterator = [1, 2, 3, 4] for i in combin..

파이썬

파이썬 int(a/b)와 a//b 차이

int(a/b)와 a//b는 일반적인 경우에는 동일한 결과를 반환합니다. 그러나 몇 가지 경우에는 차이가 발생할 수 있습니다. 1. 연산 과정의 차이 a/b는 항상 실수형(float) 결과를 반환합니다. 여기에 int() 함수를 적용하게 된다면, a//b 는 나눗셈의 결과를 가장 가까운 정수로 내림한 값을 반환합니다. 예를 들어, 5//2 의 결과는 2가 됩니다. 반면에, a//b는 정수형(integer) 몫을 반환합니다. 즉, 나눗셈의 결과를 정수 부분만 남기고 나머지는 버립니다. 따라서 5//2의 결과는 2가 됩니다. => 결과는 동일하지만, 나눗셈의 결과를 내림한다는 것과 정수 몫을 구하고 나머지는 버림한다는 애매한 차이가 있다고 볼 수 있겠습니다. 2. 음수의 처리 가장 큰 차이라고도 할 수 있는..

파이썬

파이썬 이미지 파일 확장자명 한번에 바꾸기

아래 코드는 jpg 파일을 png파일로 변환하는 파이썬 코드이다 glob(~~)안에 데이터가 위치한 경로를 적어주고, src 변수에 .jpg를 뺀 파일의 이름을 저장해준 뒤 거기에 .png를 붙여주는 간단한 방식이다. 그냥 직관적이어서 좋은 것 같다. import os import glob files = glob.glob('data/custom/annotations/train/*.jpg') for i in files: src = i[:-4] os.rename(i,src+'.png')

파이썬

[python] 프레임으로 나눠진 이미지들을 동영상으로 합치기

아래 코드에서 주의할 점은, 본인의 프레임 개수는 약 370개로 0번 ~ 369번 이미지들이 존재했다. 만약 프레임 개수가 천단위가 넘어간다면 추가적인 배열이 하나 더 필요할 것이다. 배열을 따로 하는 이유는, sorting 할때 0, 1, 2... 순서가 아니라 0, 1, 10, 100, 101... 순으로 sorting 되기 때문이다. natsort를 이용하는 방법도 있다고 한다! 그리고 fps를 20으로 지정해뒀는데, 이건 원하는 fps 값에 따라 적절히 바꿔주면 된다 import cv2 import re import os import numpy as np path = '이미지들(프레임들)이 모여있는 폴더 경로' # 파일 가져오기 def get_files(path): for root, subdirs..

파이썬

[Pytorch] custom dataset의 mean, std 구하기

import numpy as np import matplotlib.pyplot as plt from pycocotools.coco import COCO import torch from torchvision import datasets from tqdm.notebook import tqdm def image_stats(data): total_images = len(data) total_pixels = 0 pixel_sum = np.zeros(3) pixel_squared_sum = np.zeros(3) for i in range(total_images): # 이미지 데이터를 numpy 객체로 변환하고 정규화(0~1) img, _ = data[i] img_np = np.asarray(img) / 255.0 ..

파이썬

M1, M2 맥북에서 아나콘다 파이썬 3.6 또는 3.7 설치하기

애플 실리콘 맥북에서는 아나콘다에서 파이썬 3.8 버전 밑으로는 설치가 안될 것이다. 그럴 땐 다음과 같은 방법을 이용하면 된다 ## create empty environment conda create -n py37 ## activate conda activate py37 ## use x86_64 architecture channel(s) conda config --env --set subdir osx-64 ## install python, numpy, etc. (add more packages here...) conda install python=3.7 https://stackoverflow.com/questions/70205633/cannot-install-python-3-7-on-osx-arm64

beomseok99
'파이썬' 카테고리의 글 목록