본문 바로가기

전체 글

(9)
Python 스크립트 실행을 위한 Dockerfile 만들기 Python 프로그램을 Dockerize하는 방법을 설명합니다. Python 프로그램 테스트로 사용할 간단한 프로그램입니다. import signal import time from absl import app from absl import flags from absl import logging FLAGS = flags.FLAGS flags.DEFINE_string('echo', None, 'Text to echo.') interruppted = False def handle(*args): logging.info('Signal catched. Exiting.') global interruppted interruppted = True def main(argv): del argv # Unused logging..
비트코인 Blockchain RPCs 사용 이전 글: 2021.05.25 - [실습] - 비트코인 풀노드 실행하기 비트코인 풀노드를 실행하면, 이제 비트코인 RPC를 사용할 수 있습니다. 그 중에서 Blockchain의 유용한 정보를 살펴볼 수 있는 Blockchain RPC들을 알아봅시다. 참고로 전체 RPC API 리스트는 여기에서 확인할 수 있습니다. 먼저, bitcoind 프로그램이 RPC를 사용하도록 설정해야합니다. bitcoin.conf 파일에 아래를 추가합니다. server=1 rpcport=8332 RPC에 인증을 추가하려면 rpcauth 값을 추가로 설정해야합니다. rpcauth.py 스크립트를 통해 생성할 수 있습니다. $ wget https://raw.githubusercontent.com/bitcoin/bitcoin/mast..
Tensorflow Serving을 위한 Kubernetes Pod Readiness probe 설정 Kubernetes cluster에 tensorflow serving을 위한 pod를 만들때에는 pod probes 설정이 중요합니다. 특히, production 환경이라면 적절한 probe 설정은 필수라고 볼 수 있습니다. 왜냐하면, tensorflow serving이 servable 모델을 초기 로딩하는데 시간이 많이 소요되기 때문입니다. 필요한 모델이 많을 수록 초기 로딩 시간은 더욱 늘어나게 됩니다. Pod는 running 상태로 되었지만, 여전히 모델이 로드되지 않은 상태이기 때문에 연결된 로드 밸런서와 같은 kubernetes service로부터 트래픽을 받게되지만, 실제 작업 수행은 실패하게 되는 결과를 가져옵니다. Probes의 종류 Pod probe는 다음 세가지 종류가 있습니다. Pod..
구글 스프레드시트로 국내 주식 배당 포트폴리오 관리하기 요즘은 대부분의 자산 가격이 올라서 다들 투자에 관심이 많으신 것 같습니다. 주식도 예외가 아닌데요. 동학개미다 서학개미다 해서 많은 분들이 실제로 주식 투자를 하고 계실 거라 생각합니다. 저도 경제적 자유를 위해서 주식 투자를 하고 있습니다. 개인적으로는 저의 경제적 자유는 노동 없이 월 500만원의 현금 흐름을 만드는 것입니다. 투자금의 대부분은 1년 정도를 타겟으로 투자를 하고, 작년처럼 주식 가격이 급락하여 배당 수익이 나쁘지 않다고 생각되는 가격이 올 때에는 배당 수익을 목적으로 포트폴리오를 채워갑니다. 그리고 배당으로 투자했던 종목은 현금 흐름 창출을 위해 단시간에 수익을 주는 경우나 혹은 배당 매력이 떨어지는 경우를 제외하고는 왠만하면 매도를 하지 않습니다. 하지만, 현재까지 투자된 금액으로..
pyenv와 venv로 python 버전과 pip 패키지 관리하기 (2/2) 앞의 글(2021.05.29 - [실습] - pyenv와 venv로 python 버전과 pip 패키지 관리하기 (1/2))에서 왜 pyenv와 venv가 유용한지 알아 보았습니다. 여기서는 ubuntu 환경에 pyenv와 venv를 설치하고 간단한 사용법을 살펴 보려고 합니다. 실행환경: Ubuntu 18.04.5 LTS 사용법을 알아보기 위해 pyenv로 python 3.7.10을 설치하고, venv로 test란 가상 환경을 생성해 봅시다. 먼저, 시스템에 어떤 버전의 python이 설치되어 있는지 확인해 봅시다. Pyenv 설치 /usr/bin/python3 위치에 버전 3.6.9이 설치되어 있는 것을 볼 수 있습니다. 우리는 python 3.7.10이 필요하니 pyenv를 통해 3.7.10을 설치해..
pyenv와 venv로 python 버전과 pip 패키지 관리하기 (1/2) Python으로 프로그램을 작성하다 보면 표준 라이브러리가 아닌 패키지와 모듈을 사용할 수 있습니다. 이러한 패키지는 pip를 통해서 관리할 수 있습니다. 그럼 최신 버전의 python을 설치하고 필요한 python 패키지는 pip로 설치하면 되는데 pyenv와 venv는 왜 필요할까요? 예를 들어 봅시다. 우리는 지금 python 3.5 버전으로 프로그램 A를 개발하고 있습니다. 그리고 딥 러닝 모델 개발을 위해 tensorflow 1.15 버전을 설치하였습니다. 시간이 지나, 또 다른 프로그램 B를 개발하려고 합니다. 그 동안 tensorflow 최신 버전이 업데이트 되어 이번엔 tensorflow 2를 사용하려고 합니다. 최신 버전은 2.5.0 이었습니다. 그리고 python도 최신 버전을 사용하기..
Machine Learning: Data Bias (데이터 편향) 머신 러닝을 위한 데이터는 매우 중요합니다. Andrew Ng 교수님은 MLOps: From Model-centric to Data-centric AI 영상에서 파레토 법칙을 말하며 인공 지능 모델 성능의 80%는 데이터가 영향을 줄 수 있다고 말씀하셨습니다. 기계 학습 모델을 만들어야 한다면 먼저 모델에 사용되는 데이터를 이해할 필요가 있습니다. 이러한 데이터를 분석, 이해하는 과정을 통계학에서는, Exploratory Data Analysis (EDA)라고 합니다. 여기서는 데이터 bias(편향)에 대해서 알아보려고 합니다. Data Bias란 데이터 bias는 데이터가 전체를 표현하지 못하고 일부만을 표현하는 데서 비롯될 수 있습니다. 이미지에 있는 고양이를 인식하는 모델을 생각해 봅시다. 우리는 ..
비트코인 풀노드 실행하기 실행 환경 Ubuntu 18.04.5 LTS 비트코인 풀노드를 터미널에서 실행하는 step by step 가이드입니다. Running A Full Node 문서를 기준으로 2021년 5월 24일 테스트 했습니다. 먼저 tar 파일을 임의의 디렉토리에 다운로드 합니다. $ wget https://bitcoin.org/bin/bitcoin-core-0.21.1/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz 다운로드 된 tar 파일을 압축을 풉니다. $ tar xzf bitcoin-0.21.1-x86_64-linux-gnu.tar.gz 압축이 다 풀리면 아래와 같이 bitcoin-0.21.1 이라는 디렉토리가 생성됩니다. install 명령어로 bin 디렉토리의 내용을 /usr/loca..