일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Retry
- grad-cam
- UDF
- flask
- tensorflow text
- GCP
- BigQuery
- API Gateway
- Airflow
- GenericGBQException
- Counterfactual Explanations
- spark udf
- youtube data
- integrated gradient
- top_k
- 공분산
- TensorFlow
- gather_nd
- 유튜브 API
- correlation
- API
- 상관관계
- login crawling
- requests
- chatGPT
- hadoop
- session 유지
- airflow subdag
- XAI
- subdag
- Today
- Total
목록분류 전체보기 (424)
데이터과학 삼학년
DevOps를 위해 보통 파이프 라인을 만들어 사용한다. 젠킨스 내에 파이프 라인은 크게 선언적(declarative) 파이프라인과 스크립티드(scripted) 파이프라인을 지원한다.선언적(Declarative) 파이프라인 pipeline { agent { docker ‘node:6.3’ } stages { stage(‘build’) { steps { sh "abc.sh ${variables}" } } } }스크립티드(Scripted) 파이프라인 node() { checkout scm stage(‘Build’) { sh "abc.sh ${variables}" } } }젠킨스 파이프라인은 기본적으로 groovy 언어를 지원하고 있어 이를 이용하면 메소드를 만들어 적용한다던가 간단한 반복 작업은 for문 g..

Core Tensorflow - Tensorflow → graph로 구성 - Rank4 3차원 cube 가 쌓여있는 상태로 이해할 수 있음(4차원) - tensorflow에서의 rank 개념은 dimension의 개수에 대한 것이라고 이해 - tensorflow는 어느 devices에서도 적용 가능 - tensorflow1.x vs tensorflow2.0 좀 다름...나중에 자세히 - core tensorflow 부터 tf.estimator 까지 올라갈수록 조금 이해하기 힘들수 있지만 더 쉽게 접근 가능 - binary로 결과를 리턴하기 전에 그래프짜놓고 한방에 feed하는 방식(session) - lazy evaluation을 피하고 바로 결과를 확인하기 위해서는 eager 모드를 사용하면 가능함 -..

보통 프로젝트를 운영하면 하는 단계들이1. 소스코드를 GIT에 올려 놓는다2. 작업이 돌아가는 VM 을 만든다3. 작업을 스케쥴하고 실행 및 관리하는 젠킨스를 둔다 위와 같은 프로덕트를 완성하면젠킨스가 알아서 정해진 시간마다 JOB을 돌리고 결과도 계속 쌓이게 된다. 일단 이런 프로덕트를 구성하기 위해선위 3개의 vm간 연결이 중요하다. 이를 연결하기 위한 한 방법이 ssh-keygen 즉, RSA 기법으로 연결을 한다. RSA 방법은 간단하다. SSH keygen을 이용하여 RSA 키를 만든다.만들면 키는 private key, public key가 생성이 되고접근 권한을 주고자 하는 vm의 autorized_keys에 해당 public_key를 넣어주면 된다. 끝~ 예를 들어 A라는 놈이 git에 가..

kubeflow pipeline - kubeflow에서 제공하는 workflow - ml workflow를 사용하기 위해 cmle를 사용할 수도 있지만 kubeflow 내에 있는 ksonnet으로 ml 학습&예측 가능 - kubeflow는 GKE 위에 설치하고 web ui에서 관리 가능 - 전체적인 ML 파이프라인 구성 가능(쥬피터 허브, 텐서플로우, Seldon, argo, docker image, TFX 등 지원) - 오픈소스를 활용한 ml 작업을 유연하게 구성가능하도록 구성 - 목적 : composability, portability, scalability(환경을 elastic하게 조정) - data ingestion 부터 monitoring, logging까지 전체적인 일련의 과정 구성 - kub..

GCP를 활용하다 보면 Bigquery의 힘이 정말 대단하다. 빠르고 대용량을 아주...꽤나 잘 처리한다. 주로 빅데이터를 분석하면서 bigquery에서 데이터를 불러와 잘짜여진 알고리즘에 따라 분석된 결과를 다시 Google BQ에 올려 언제든 결과를 확인하고 싶을때가 많다. 그리고 그렇게 일을 처리해야 GCP를 이용해 업무를 효율적으로 진행할 수 있다. 필자는 데이터 분석을 할때 parallel 한 처리를 하기 때문에 parallel로 처리한 결과들을 비동기식으로 bq에 적재하는 경우가 많다. import multiprocessing ### bigquery load error 일부러 내기 def bq_load(df): .... result = result.to_gbq(destination_table=..

Domain 지식의 중요성 - 데이터를 이해하고, 문제를 풀기 위한 데이터를 선택할 수 있음 Bigquery ML > GCP에서 Bigquery를 이용하여 ML을 학습 및 예측이 가능해 졌다! - bq를 이용하여 모델을 학습시킴(학습된 모델이 저장될 위치를 지정해줌) - 학습된 모델의 training info를 볼 수 있음 - ML.PREDICT(MODEL 만들어진 모델, 예측할 데이터) - tensorflow를 이용하여 모델을 적용할 경우에는 미리 학습된 모델을 적용하여 예측 가능함 BQ에서 제공해주고 있는 Lineal와 같은 모델로는 학습이 가능하지만 커스텀한 학습은 아직 불가능하다. 커스텀 학습한 모델을 BQ에 올리고 이를 이용하여 예측하는 것은 가능하다. 이 기능을 이용하면 BQ에 적재되어 있는 ..

Optimization - Defining ML models > parameter 와 losses를 통한 optimization이 없으면 그냥 수학적 모델, function과 동일 > input과 output을 반복해서 넣으면서 그 둘의 관계를 이용하여 성능이 좋은 function을 만들어 냄 > parameters : 자동적으로 조절 function이 재생산(갱신)됨 > metrics : 모델의 궁극적인 최종 결과를 평가하기 위함(사람이 직관적으로 판단해야 할 것) > losses : 최적 모델을 만들어내기 위한 평가 척도(계속해서 갱신...갱신) - loss function > error = actual value - predicted value > RMSE를 쓰는 이유 : 데이터의 수가 다르면 비교..
파이썬에서는 GIL(Global Interpreter Lock)이라는 개념때문에 multi-thread를 사용하여도 실제로 싱글스레드로 연산이 된다. 따라서 CPU bound 처럼 연산을 parallel 처리하기 위해서는 multiprocessing이라는 library를 사용하여 처리하면 된다. multiprocessing을 적용하는 방법은 그리 어렵지 않다. 함수를 호출하고 각 process가 작업할 수 있도록 데이터를 넣어주면 된다. multiprocessing의 pool을 사용하면 multiprocessing 내의 함수의 인자를 한개를 받아와야하므로 partial 이라는 functools 를 이용하여 적용할 수 있다. 1. multiprocessing 기본 적용 및 함수에서 다수의 인자를 받기 위한..