본문 바로가기

전체 글416

우분투에 python3.10 설치하기 ubuntu docker image를 다운 받아서 해당 이미지에 python3.10을 설치하려고 한다. 아래는 python3.10을 설치하는 docker file FROM ubuntu:18.04 RUN mkdir -p /app WORKDIR /app RUN apt-get update RUN apt-get install -y git build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev liblzma-dev # python 설치 RUN wget https://www.python.org/ftp/python/3.10.9/Py.. 2023. 1. 6.
Bad Substitution $> ./test.sh alpine으로 만든 docker 컨테이너 내에서 위와 같이 실행하면 bad substitution이란 에러가 발생하며 실행이 안된다. bad substitution의 경우 shell이 다른 경우에서 호환성 문제로 발생하는 에러 메시지로 위의 경우는 아래와 같이 bash shell로 실행해주면 정상적으로 동작한다. $> bash test.sh 2023. 1. 5.
dockerfile로 container 생성 시 container를 계속 띄우기 dockerfile로 image를 만들고 생성된 image를 컨테이너로 만드는 과정에서 컨테이너 내에 직접 들어가서 디버깅을 해야 하는 경우가 종종 발생한다. 하지만 이렇게 컨테이너에 접속하기 위해서는 컨테이너가 종료하지 않고 계속 떠 있어야 하는데 dockerfile 에서 cmd 명령을 아래와 같이 주면 컨테이너가 종료하지 않고 계속 떠 있는 상태를 만들 수 있다. FROM python:3.8-slim CMD ["tail", "-f", "/dev/null"] /dev/null은 리눅스의 null device로써 입력되는 모든 데이터를 EOF로 보내는 역할을 한다. 해당 null device 파일을 계속 tail을 검으로써 해당 container가 종료되지 않고 계속 살아있게 둘 수 있다. 이 외에서 무.. 2023. 1. 4.
docker file 내에서 git 특정 branch 클론하고 싶을 때 docker file 작성 중 github으로부터 특정 소스를 클론해야 하는 작업이 필요했다. 그래서 아래와 같이 작성. FROM python:3.7-slim RUN mkdir -p /app WORKDIR /app RUN apt-get update RUN apt-get -y install git RUN git clone https://github.com/test.git WORKDIR /app/test RUN git checkout feature_1 RUN pip install --upgrade pip RUN pip install -r requirements.txt CMD [ "python", "test.py"] 하지만 위와 같이 실행시키니깐 git checkout 하는 부분에서 아래와 같은 에러가 발생한.. 2023. 1. 3.
kubeflow pvc에 있는 모델 inference하기 이번에는 pvc에 있는 model을 kubeflow inference service를 이용하여 serving을 진행해보도록 하자. kubeflow ui에서 왼쪽 models 메뉴를 클릭한 후 NEW MODEL SERVER를 클릭하자. 클릭하면 빈 화면이 나타나는데 해당 화면에 inference service에서 사용할 yaml 값을 기입하자. inference.yaml apiVersion: "serving.kubeflow.org/v1beta1" kind: "InferenceService" metadata: name: “iris" spec: predictor: sklearn: Image: sklearn-server:v0.6.1 storageUri: "pvc://test/model” 위의 yaml 값을 입력.. 2022. 12. 30.
Kubeflow pipeline 작성 및 pvc에 저장하기 kubeflow를 통해 모델 생성을 위한 pipeline을 작성하고 작성된 모델을 kfserving을 통해 serving을 해볼 수가 있다. 오늘은 그 작업을 해보려고 한다. 우선 pipeline을 작업하기 위해서는 아래와 같은 requirements 가 필요하다. kfp == 1.8.9 scikit-learn == 1.0.1 dill == 0.3.4 numpy kfserving 위 python package를 설치했다면 이제 pipeline을 위한 코드를 작성해보자. pipeline.py import kfp from kfp import onprem from kfp import dsl def preprocess_op(): return dsl.ContainerOp( name='Preprocess Data'.. 2022. 12. 29.
동적으로 module import 하기 파이썬에서 정적으로 module을 import를 하려고 하면 아래와 같이 사용하면 된다. import xxxx 그렇다면 동적으로 import는 어떻게 해야 할까?? 여기서는 손쉽게 import 할 수 있도록 importlib를 이용한 방법을 소개한다. 예를 들어 lib폴더에 module.py라는 함수가 있다고 가정하자. module.py def print(): print('module') 아래와 같이 사용함으로써 lib의 module.py package를 가져올 수가 있다. import os import sys sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) import importlib pkg = importlib.. 2022. 10. 1.
[REACT] react developer tools 사용하기 chrome extention에서 react develop tools을 설치한다. https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi React Developer Tools Adds React debugging tools to the Chrome Developer Tools. Created from revision 336ac8ceb on 7/13/2022. chrome.google.com 그러면 아래와 같이 chrome developer 창에 Components와 Profiler 탭이 생긴 것을 확인할 수가 있다. react app을 실행시키고 chrome developer 창을 연 .. 2022. 8. 6.
맥에 kubeflow 설치하기 설치 환경 minikube : v1.26.0 kubectl client : v1.21.0 kubectl server : v.1.21.0 kustomize : v.3.2.0 kubenetes : v.1.21.0 kubeflow : v.1.4.0 1. kubenetes를 설치하기 위해 우선 minikube를 설치한다. $> brew install minikube 2. minikube의 설치가 끝났다면 kubectl을 설치하자. $> curl -LO "https://dl.k8s.io/release/v1.21.0/bin/darwin/amd64/kubectl" $> chmod +x ./kubectl $> sudo mv ./kubectl /usr/local/bin/kubectl $> sudo chown root: .. 2022. 7. 26.