일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- grad-cam
- 공분산
- TensorFlow
- API
- gather_nd
- hadoop
- login crawling
- 유튜브 API
- integrated gradient
- BigQuery
- 상관관계
- session 유지
- GenericGBQException
- UDF
- top_k
- Airflow
- chatGPT
- requests
- flask
- correlation
- spark udf
- API Gateway
- airflow subdag
- Retry
- Counterfactual Explanations
- tensorflow text
- GCP
- youtube data
- subdag
- XAI
- Today
- Total
목록Python (36)
데이터과학 삼학년
파이썬 데커레이터는 말 그대로 꾸며주는 함수라고 생각하면 된다. 클로저와 데커레이터의 가장 큰 차이는 데커레이터는 함수를 argument로 받는다는 점이다. 실행 시간을 나타내는 clock이라는 데커레이터를 보자 import time def clock(func): def clocked(*args): t0 = time.perf_counter() result = func(*args) elapesd = time.perf_counter() - t0 name = func.__name__ arg_str = ', '.join(repr(arg) for arg in args) print('[%0.8fs] %s(%s) -> %r' %(elapesd, name, arg_str, result)) return result re..
파이썬에는 클로저라는 기법(?)이 있다. 얼핏보면 함수안에 함수를 넣는 것이 아니냐? 라는 생각이 들 수 있지만 closer는 조금 다르다. 클로저는 함수 본체에서 정의하지 않고 그저 참조만 하는 비전역 변수를 포함한 확장범위를 가진 함수다. 이를 좀 더 이해하기 위해 평균을 구하는 함수를 만든다고 하자 맨처음 값이 들어가면 그 값이 나오고 그 다음 값부터는 이전에 들어갔던 값들과 집어넣은 값의 평균을 배출하게 하는 함수를 만든다면??? 예를 들면 avg(10) --> 10 avg(11) --> 10.5 avg(12) --> 11 이런 식이다. 이를 일반적으로 class를 이용하여 코드를 작성하면 class Averager: def __init__(self): self.series =[] def __ca..
파이썬의 class를 공부하다 보면 정적메서드, 클래스메서드, 추상메서드를 볼 수 있다. 추상 메서드? 이것이 무엇인지 한번 알아보도록 하겠다. 추상메서드는 한 class를 만들때 꼭 있어야하는 method를 관리하기 위한 목적으로 사용할 수 있다. 쓰는 용도를 예를 들면 사람이라는 class를 만든다면, 그안에는 먹는다는 method와 일한다는 method가 꼭 있어야 한다. (일은...뭐..선택적일 수 있지만...ㅋㅋ) 또 다른 예는 어떤 기기를 켰을때 꼭 로고가 나오거나 소리가 나오게 해야하는 method를 만들어야한다. 이때 실수로 로고가 나오거나 소리가 나오게 하는 method를 class안에 넣지 않으면 큰(?) 일이 나게 된다. 이런 것을 막기 위한 용도로 추상클래스를 만들어 두고, 이 추상..
파이썬에서는 GIL(Global Interpreter Lock)이라는 개념때문에 multi-thread를 사용하여도 실제로 싱글스레드로 연산이 된다. 따라서 CPU bound 처럼 연산을 parallel 처리하기 위해서는 multiprocessing이라는 library를 사용하여 처리하면 된다. multiprocessing을 적용하는 방법은 그리 어렵지 않다. 함수를 호출하고 각 process가 작업할 수 있도록 데이터를 넣어주면 된다. multiprocessing의 pool을 사용하면 multiprocessing 내의 함수의 인자를 한개를 받아와야하므로 partial 이라는 functools 를 이용하여 적용할 수 있다. 1. multiprocessing 기본 적용 및 함수에서 다수의 인자를 받기 위한..