Python(212)
-
[ Python ] jpg, png 를 gif 또는 mp4로 만들기
jpg를 gif로 만들려는데, 먼가 잘 안돼서 이것저것 하다가 아는 형의 코드를 참고해서 결국 성공하게 되었다. 이 글에서 포인트는 다음과 같다. 1. 각 이미지 사이즈가 다른 것이 있어서 사이즈를 맞춰주는 작업이 필요함. 2.기존에 하던 방식을 했는데, 작동하지 않아서 새로운 방법으로 gif를 만들었음. 기존 방식) 아래와 같은 방법이 작동하지 않았다. GIF import os os.system('convert -delay 15 -loop 0 ./pngs/*.png ./UI.gif') 일단 이미지 사이즈가 다르니 이미지 사이즈를 맞춰줬다. 사진이 뭉개질까봐 가장 작은 사이즈 기준으로 맞췄다. from PIL import Image import cv2 result = [] for idx , path in..
2022.05.22 -
[Python] 이산화된 공간 안에 속하는 좌표 찾기
이전에 했던 작업을 조금 수정하여 다시 올림 아래와 같이 어떤 특정 영역을 표현하는 이산화 된 점이 있을 때 이 영역 안에 들어있는 점들을 찾는 방법에 대한 글이다. coordinate = [(0,0),(2,2),(4,4),(6,2),(6,0),(0,0)] 아래 코드를 통하여 선이 지나가는 grid 한 좌표를 탐색한다. total_grid = [] for idx in range(len(coordinate) - 1): start = coordinate[idx] end = coordinate[idx + 1] discrete_line = list( zip( *line( *start, *end, ) ) ) for i in discrete_line: if i not in total_grid: total_grid...
2022.05.19 -
hyper graph 관련해서 도움이 되는 글들
hypergraph에 대해서 자료를 하나씩 찾아보면서 정리 중이다. 아직 간단하게 개념적으로만 이해를 한 상태인 것 같다. 유익한 자료가 있으면 댓글로 공유 부탁드립니다 😁 시각화 https://towardsdatascience.com/how-to-visualize-hypergraphs-with-python-and-networkx-the-easy-way-4fe7babdf9ae How to visualize hypergraphs with Python and networkx — The Easy Way An easy method to draw some hypergraphs via standard graph visualization libraries. towardsdatascience.com 패키지 시각화 및 ..
2022.05.08 -
Python) list와 nested list안에 값을 기준으로 병합하는 코드
이름을 어떻게 해야 할지 모르겠지만, 일단 시작하면 다음과 같은 문제가 있었다. 2개의 list가 있는 데 하나는 그냥 list고 하나는 nested 형태의 list이다. 이 안에는 idx가 있고, 이 nested list에도 idx를 묶어 놓은 list들이 있다. 이 2개를 합치는 작업이 필요해서 고민하다가 나온 결과를 공유한다. 다음과 같은 예시가 있다고 하자. _list = [0,1,5,12,16] _nested_list = [[2,3,4],[6,7,8],[9,10,11],[13,14,15]] 나의 목적은 이 2개를 순서를 유지하면서 합치는 것이 목표이다. [0, 1, [2, 3, 4], 5, [6, 7, 8], [9, 10, 11], 12, [13, 14, 15], 16] 위와 같이 idx의 순서..
2022.05.06 -
Python) 직선 기준 점 대칭 이동 구현
직선과 점이 있을 때 대칭 점을 구하는 파이썬 코드를 구현해봤다. 위의 그림처럼 우리가 하나의 직선을 알고 하나의 점(A)을 알 때 A'를 구하는 방법이다. 실제 구현하는 공식은 다음과 같다. 그래서 우리가 알아야 하는 것은 2개이다. 바로 점의 좌표와 직선의 방정식을 구하면 된다. def get_symmetry_point(two_point,one_point): dx, dy = np.array(two_point[0]) - np.array(two_point[1]) w = dy / dx b = two_point[0][1] - w * two_point[0][0] x1, y1 = one_point[1] new_x0 = x1 - 2 * w * (w * x1 - 1 * y1 + b) / (w**2 + 1) new_..
2022.04.29 -
torchfunc) titanic data에 model parallel training 해보기
jax 예시로 나온 것처럼 소규모 네트워크를 빠르게 학습시키는 방법에 대해 공유합니다. 소규모 네트워크를 훈련하는 경우 병렬화의 근본적인 한계에 부딪힙니다. 확실히 2계층 MLP는 ResNet-50보다 훨씬 빠르게 실행됩니다. 그러나 ResNet에는 약 4B의 곱셈 누산 연산이 있는 반면 MLP에는 100K만 있습니다.1 우리가 원하는 대로 MLP는 ResNet보다 40,000배 더 빠르게 훈련하지 않으며 GPU 사용률을 검사하면 그 이유를 알 수 있습니다. . GPU의 ~100%를 사용하는 ResNet과 달리 MLP는 2-3%만 사용할 수 있습니다. 더 많은 컴퓨팅을 병렬로 사용하는 한 가지 방법은 배치 크기를 늘리는 것입니다. 예를 들어 128개 요소의 배치를 사용하는 대신 GPU를 채울 때까지 이를..
2022.03.26 -
Python) 고객 생애 가치(CLV) 예측하기
고객 생애 가치를 예측할 때는 기존 회귀 모델 방식보다는 다른 특정 가정을 사용하고 있는 모델을 사용해야 한다. lifetimes이라는 패키지를 사용하는 예시를 해보고자 한다. 고객 생애 가치(CLV)는 고객이 인수부터 비즈니스와의 관계가 종료될 때까지 지출할 총금액입니다. 참고 부탁드립니다. 2022.03.17 - [분석 Python/구현 및 자료] - Python) 고객 생애 가치(CLV)에 대해서 알아보기 예측(Prediction)과 Calculation(계산)에 차이는 무엇일까요? CLV를 계산할 때, 오로지 현재 상황을 조사하고 분석만 할 수 있습니다. 그래서 우리는 고객에 새로운 상품을 살 때나 특정한 한계에 도달했을 때 추측할 수가 없습니다. 예측을 통해 우리는 기계 학습을 프로세스에 추가하..
2022.03.17 -
Python) 고객 생애 가치(CLV)에 대해서 알아보기
도입부 CLV 또는 LTV로 부르는 ‘고객 생애 가치’는 고객이 비즈니스에 기여한 금전적 가치를 가리키는데, 회사가 얼마나 수익성이 있을지 또는 신규 고객을 확보하기 위해 얼마나 많은 비용을 지출할 수 있는지를 이해하는 데 중요한 지표입니다. 고객생애가치(Customer Lifetime Value (CLV))는 고객이 인수부터 비즈니스와의 관계가 종료될 때까지 지출할 총 금액입니다. 즉 개별 고객이 창출하는 비즈니스 가치를 말해줍니다. 고객 관계(Customer Relationships)가 수익성이 있는지 판별하고자 CLV를 사용합니다. 제품, 마케팅, 광고, 영업 팀은 CLV를 기준으로 수익성을 유지하면서 고객 확보, 참여, 유지에 얼마의 비용을 투여할 것인지 결정합니다. CLV를 계산하려면 몇 가지를..
2022.03.17 -
Python) pydantic 알아보기
개인적으로는 dataclass가 namedtuple를 쓰다가 불편해서 사용하고 있었는데, 이 dataclass에서는 데이터 검증 부분이 없다고 한다. 그래서 우연히 pydantic을 알게 돼서 pydantic에 대해 정리해보고자 한다. Python Type Hint를 사용한 데이터 유효성 검사 및 설정 관리에 대해서 설명하고자 합니다. 여기서는 pydantic이라는 패키지를 사용해봅니다. pydantic은 validation library가 아닌 parsing 라이브러리리입니다. 유효성 검사는 제공된 유형 및 제약 조건을 준수하는 모델을 구축하는 목적을 위한 수단입니다. 즉, pydantic은 입력 데이터가 아닌 출력 모델의 유형과 제약 조건을 보장합니다. 우선 데이터 검증이 뭔지부터 살펴봅니다. Wha..
2022.03.14 -
Paper) Deep Learning for Anomaly Detection: A Review
Anomaly Detection에 관심이 있는 분이라면 한 번 읽어보시길 추천드린다. https://arxiv.org/abs/2007.02500 Deep Learning for Anomaly Detection: A Review Anomaly detection, a.k.a. outlier detection or novelty detection, has been a lasting yet active research area in various research communities for several decades. There are still some unique problem complexities and challenges that require advanced approac arxiv.org 아직 다..
2022.02.27 -
Python) Google Calendar API 사용 방법
Python에서 Google Calendar API를 사용하여 내 계정의 이벤트를 가져오는 것을 해보고자 한다. 일단 구글 캘린더 API를 사용하기 위해서는 Open API를 인증받아야 한다. 일단 다른 글들을 따라가면서 순서대로 캡처한 것을 보여주면서 진행하려고 한다. 그래서 뭔가 중간 중간에 보안적인 문제가 있을 수 있으니 주의하시길 바란다. API 인증 받기 1. 로그인 및 프로젝트 생성 https://console.cloud.google.com/?pli=1 Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 위의 URL로 들어가서 구글 로그인을 하고 하나의 프로젝트를..
2022.02.12 -
Python) 기념일 관리하기 및 구글 캘린더에 등록할 템플릿 만드는 코드
아래 github를 참고해주세요! 계속 진행중입니다. https://github.com/sungreong/PyKorAnniversary GitHub - sungreong/PyKorAnniversary: 파이썬을 활용하여 한국 기념일 관리하기 파이썬을 활용하여 한국 기념일 관리하기. Contribute to sungreong/PyKorAnniversary development by creating an account on GitHub. github.com
2022.02.12