dgkim1108의 등록된 링크

 dgkim1108로 등록된 네이버 블로그 포스트 수는 159건입니다.

[Kubeflow 1.7.0] 다중 노드 구성 : K3s 1.26.5(GPU 설정 추가) [내부링크]

사전 준비 [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 멀티 노드로 클러스터와 클라이언트가 분리되어 있습니다. S/W 버전 클러스터 & 클라이언트 구분 S/W Version 쿠버네티스 클러스터 & 클라이언트 구성 K3s 1.26.5 쿠버네티스 클라이언트 컨트롤 Toolkit Kubectl 1.26.5 MLOps 설치 Toolkit Kustomize 5.0.3 MLOps 관리 Toolkit Kubeflow 1.7.0-rc.0 공통 설정 연결된 모든 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 설정 GitHub - k3s-io/

[Notebooks] Docker Image : Custom 생성 [내부링크]

K3s 클러스터 & 클라이언트 사용 다음 링크를 참고합니다. [Kubeflow 1.6.1] 다중 노드 구성 : K3s 1.25.0(GPU 설정 추가) 사전 준비 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 멀티... blog.naver.com Kubeflow Docker Image 생성 Kubeflow Notebooks에서 PyTorch 기반의 MMDetection을 사용할 수 있도록 Dockerfile을 생성합니다. sudo vim Dockerfile ARG PYTORCH="1.9.0" ARG CUDA="11.1" ARG CUDNN="8" FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel USER root ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6+PTX" \ TORCH_NVCC_FLAGS="-Xfatbin -compress-

[Pipeline] KFP Upload : MinIO 업로드(kfp.client 사용) [내부링크]

사전 준비 [Docker] 컨테이너 실행 : YAML 파일로 MinIO 사용하기 개발 환경 개발 환경은 다음 링크를 참고합니다. YAML 파일 설정 빈 폴더를 생성합니다. docker-compos... blog.naver.com docker logs minio MinIO Object Storage Server Copyright: 2015-2023 MinIO, Inc. License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html> Version: RELEASE.2023-05-18T00-05-36Z (go1.19.9 linux/amd64) Status: 1 Online, 0 Offline. S3-API: http://172.19.0.2:9000 http://127.0.0.1:9000 Console: http://172.19.0.2:9090 http://127.0.0.1:9090 Documentation: https://min.io/d

[Pipeline] KFP Upload : MinIO 다운로드(kfp.client 사용) [내부링크]

사전 준비 다음 링크에서 Minio S3 API 주소를 확인합니다. [Docker] 컨테이너 실행 : YAML 파일로 MinIO 사용하기 개발 환경 개발 환경은 다음 링크를 참고합니다. YAML 파일 설정 빈 폴더를 생성합니다. docker-compos... blog.naver.com docker logs minio MinIO Object Storage Server Copyright: 2015-2023 MinIO, Inc. License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html> Version: RELEASE.2023-05-18T00-05-36Z (go1.19.9 linux/amd64) Status: 1 Online, 0 Offline. S3-API: http://172.19.0.2:9000 http://127.0.0.1:9000 Console: http://172.19.0.2:9090 http://127.0.0.1:9090

[커피 머신 구매 후기] 카누 바리스타 [내부링크]

사용 후기 집에서 맛있는 커피를 즐길 수 있어요~ 편하게 커피 내릴 수 있어요~ 커피 머신 청소 및 관리가 편해요~ 원터치로 아메리카노 따듯하고 시원하게 즐길 수 있어요~ 라면이나 차에 사용할 따듯한 물도 편하게 받을 수 있어요~ 구매 링크 카누 바리스타 브리즈 캡슐커피머신 COUPANG link.coupang.com 카누 각 10개입 총 60개 바리스타 전용캡슐 COUPANG link.coupang.com ※ 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.

[객체 탐지] MMDetection 데이터 형식 변환 : TXT to JSON [내부링크]

데이터 변환 전 : YOLO 포맷(TXT 파일) dataset_root_dir/ Photo_00001.jpg Photo_00001.txt Photo_00002.jpg Photo_00003.txt . . . 데이터 변환 후 : JSON 파일 TXT to JSON 변환에 필요한 파일을 다운로드합니다. cd ~ sudo git clone https://github.com/Taeyoung96/Yolo-to-COCO-format-converter.git Cloning into 'Yolo-to-COCO-format-converter'... remote: Enumerating objects: 255, done. remote: Counting objects: 100% (48/48), done. remote: Compressing objects: 100% (24/24), done. remote: Total 255 (delta 34), reused 29 (delta 24), pack-reused 20

[Docker] 컨테이너 실행 : YAML 파일로 MinIO 사용하기 [내부링크]

개발 환경 개발 환경은 다음 링크를 참고합니다. [Docker] S/W 설치 : 도커 엔진, 도커 컴포즈, 엔비디아 도커 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com YAML 파일 설정 빈 폴더를 생성합니다. mkdir -p ~/minio/data docker-compose.yml 파일을 수정합니다. sudo vim docker-compose.yml restart, container_name, image, environment, ports, volumes, command 수정 version: '3.8' services: minio: restart: always container_name: minio image: quay.io/minio/minio:latest environment: - MINIO_ROOT_USER=minio - MINIO_ROOT_PASSWORD=minio123 ports

[Pipeline] KFP Upload : MinIO 목록 확인(kfp.client 사용) [내부링크]

사전 준비 다음 링크를 참고하여 Minio S3 API 주소를 확인합니다. [Docker] 컨테이너 실행 : YAML 파일로 MinIO 사용하기 개발 환경 개발 환경은 다음 링크를 참고합니다. YAML 파일 설정 빈 폴더를 생성합니다. docker-compos... blog.naver.com docker logs minio MinIO Object Storage Server Copyright: 2015-2023 MinIO, Inc. License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html> Version: RELEASE.2023-05-18T00-05-36Z (go1.19.9 linux/amd64) Status: 1 Online, 0 Offline. S3-API: http://172.19.0.2:9000 http://127.0.0.1:9000 Console: http://172.19.0.2:9090 http://127.0.0.1:

[Kubeflow 1.7.0] 다중 노드 구성 : K3s 1.26.3(오류 해결 중) [내부링크]

사전 준비 [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 멀티 노드로 클러스터와 클라이언트가 분리되어 있습니다. S/W 버전 클러스터 & 클라이언트 구분 S/W Version 쿠버네티스 클러스터 & 클라이언트 구성 K3s 1.26.3 쿠버네티스 클라이언트 컨트롤 Toolkit Kubectl 1.26.3 MLOps 설치 Toolkit Kustomize 3.2.0 MLOps 관리 Toolkit Kubeflow 1.7.0-rc.1 공통 설정 연결된 모든 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 설정 GitHub - k3s-io/

[Kubeflow 1.6.1] 다중 노드 구성 : K3s 1.25.0(GPU 설정 추가) [내부링크]

사전 준비 [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 멀티 노드로 클러스터와 클라이언트가 분리되어 있습니다. S/W 버전 클러스터 & 클라이언트 구분 S/W Version 쿠버네티스 클러스터 & 클라이언트 구성 K3s 1.25.0 쿠버네티스 클라이언트 컨트롤 Toolkit Kubectl 1.25.0 MLOps 설치 Toolkit Kustomize 3.2.0 MLOps 관리 Toolkit Kubeflow 1.6.1-rc.0 공통 설정 연결된 모든 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 설정 GitHub - k3s-io/

[Linux] 우분투에서 나스 공유 폴더 마운트 [내부링크]

나스 설정 제어판에서 공유 폴더 datas를 생성합니다. 기본 정보 설정 암호화 고급 설정 구성 설정 확인 제어판에서 파일 서비스의 NFS를 활성화합니다. 제어판에서 공유 폴더의 NFS 권한을 변경합니다. 우분투 설정 다음 명령어로 NFS 패키지를 설치합니다. sudo apt update sudo apt install -y nfs-common Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: conntrack cri-tools docker-scan-plugin ebtables ethtool kubernetes-cni libflashrom1 libftdi1-2 libllvm13 libllvm13:i386 libvulkan1

[Docker] 컨테이너 실행 : YAML 파일에서 나스 폴더 마운트하기 [내부링크]

개발 환경 개발 환경은 다음 링크를 참고합니다. [객체 탐지] MMDetection 도커 환경 구축 우분투에서 MMDetection 프로젝트 환경 구축하기 1. GPU 종류를 확인합니다. 2. GPU 종류에 적합... blog.naver.com YAML 파일 설정 docker-compose.yml 파일을 수정합니다. sudo vim docker-compose.yml volumes 변경 version: '3.8' services: mmdetection: restart: always container_name: mmdetection image: dgkim1108-mmdetection/nvidia-v-100 ports: - 8888:8888 runtime: nvidia ipc: host environment: - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=all volumes: - type: volume source: nfs_mou

[Kubeflow 1.6.1] 다중 노드 구성 : K3s 1.25.0 [내부링크]

사전 준비 [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 멀티 노드로 클러스터와 클라이언트가 분리되어 있습니다. S/W 버전 클러스터 & 클라이언트 구분 S/W Version 쿠버네티스 클러스터 & 클라이언트 구성 K3s 1.25.0 쿠버네티스 클라이언트 컨트롤 Toolkit Kubectl 1.25.0 Kustomize 3.2.0 MLOps 관리 Toolkit Kubeflow 1.6.1-rc.0 공통 각 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 설치 GitHub - k3s-io/k3s: Lightweight Kubernet

[Kubernetes] GPU 설정 : Helm 사용 [내부링크]

사전 준비 서버에 NVIDIA 드라이버가 설치되어 있어야 합니다. nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 510.60.02 Driver Version: 510.60.02 CUDA Version: 11.6 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+==================

[문제 해결] 쿠버네티스 클러스터 특정 버전 설치 오류 - K3s 사용 [내부링크]

오류 내용 K3s 특정 버전으로 설치하는 과정에서 다음과 같은 오류가 확인됩니다. sudo curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.7+k3s1 sh -s - server \ --disable traefik \ --disable servicelb \ --disable local-storage \ --docker \ --write-kubeconfig-mode 644 . . . Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service. [INFO] systemd: Starting k3s Job for k3s.service failed because the control process exited with error code. See "systemctl status k3s.service" and "

[Kubeflow 1.6.1] 다중 노드 구성 : K3s 1.21.7(오프라인 환경 고려) [내부링크]

사전 준비 [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 멀티 노드로 클러스터와 클라이언트가 분리되어 있습니다. S/W 버전 클러스터 & 클라이언트 구분 S/W Version 쿠버네티스 클러스터 & 클라이언트 구성 Kubectl 1.21.7 쿠버네티스 클라이언트 컨트롤 Toolkit Kubectl 1.21.7 Kustomize 3.2.0 MLOps 관리 Toolkit Kubeflow 1.6.1 공통 각 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 설치 GitHub - k3s-io/k3s: Lightweight Kubernete

[Kubeflow 1.6.0] Kind 삭제 [내부링크]

Kind 삭제 다음 명령어로 단일 노드에 설치된 Kind 클러스터를 삭제할 수 있습니다. kind delete cluster Deleting cluster "kind" ...

[Linux] Buffer & Cache 비우기 [내부링크]

메모리 정보 확인 우분투에서 다음 명령어로 가용 메모리를 확인합니다. free -h total used free shared buff/cache available Mem: 62Gi 977Mi 58Gi 5.0Mi 3.0Gi 61Gi Swap: 0B 0B 0B # total : 현재 시스템에 설치되어 있는 전체 메모리 용량 # used : 현재 사용 중인 메모리 용량 → total - free - buffer/cache # free : 사용 가능한 메모리 용량 # shared : 여러 프로세스에 사용할 수 있는 공유 메모리 용량 # buff/cache : 커널이 입출력 성능을 향상시키기 위해 사용하는 메모리 용량 # available : Swapping 없이 새로운 프로세스에서 할당 가능한 메모리 예상 용량 buff/cache 초기화 Root 권한으로 실행합니다. sudo su Page Cache 영역을 해제합니다. sync echo 1 > /proc/sys/vm/drop_caches

[와디즈 구매 후기] 보충제 쉐이커 [내부링크]

사용 후기 믹싱볼도 없는데 신기하게 잘 섞여요~ 적은 횟수로도 내용물이 잘 녹아져요~ 입구가 슬라이드 형태라 열기 편해요~ 구매 링크 와디즈 쉐이커 부분 역대 판매 1위! [명품 노볼 쉐이커] 펀딩에서 시작된 새로운 쇼핑, 와디즈 스토어에서 서포터에게 인정받은 상품을 지금 바로 구매해보세요! www.wadiz.kr

[Kubeflow] 1.6.1 멀티 노드 설치 - K3s 사용 [내부링크]

사전 준비 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 클러스터 클라이언트 Username IP Username IP grit 203.255.217.201 notebook 203.255.217.187 S/W 버전 클러스터 클라이언트 S/W Version S/W version K3s 1.25.8 Kubectl 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.6.1 공통 각 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 각 노드 간의 통신 소통을 위해 socat 패키지를 설치합니다. sudo apt-get update sudo apt-get install -y socat Swap 가상메모리를 종료합니다. sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo

[Kubeflow] 1.6.1 단일 노드 구성 - Kind 사용 [내부링크]

사전 준비 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 단일 노드로 클러스터와 클라이언트가 동일한 서버에 위치합니다. S/W 버전 클러스터 & 클라이언트 구분 S/W Version 쿠버네티스 클러스터 & 클라이언트 구성 Kind 0.14.0 쿠버네티스 클러스터 & 클라이언트 컨트롤 Tookit Kubectl Client 1.21.7 Server 1.24.0 Kustomize 3.2.0 MLOps 대시보드 Kubeflow 1.6.1-rc.0 쿠버네티스 단일 노드 설치 kind – Quick Start Quick Start This guide covers getting started with the kind command. If you are having problems please see the known issues guide. Contents Installation NOTE : kind does not require kubectl ,

[Kubeflow] 딥러닝 모델 학습 - Yolov5 사용 [내부링크]

AI 워크플로우 작성 MLOps 파이프라인 업로드에 필요한 패키지를 설치하고, pipeline.py 파일을 생성합니다. pip install kfp Defaulting to user installation because normal site-packages is not writeable Collecting kfp Downloading kfp-1.8.19.tar.gz (304 kB) 304.8/304.8 KB 5.3 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done . . . sudo vim pipeline.py 공통 패키지 설정 from functools import partial from kfp.components create_component_from_func import kfp from kfp import dsl from kfp import onprem 딥러닝 모델 설정 A 컨테이너 이미지 및 패키지 추가 설치 @partial

[시계열 예측] GRU 변수 중요도 추가 - 정형 데이터 사용 [내부링크]

패키지 설정 import warnings warnings.filterwarnings('ignore') import os import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split import tensorflow as tf from tensorflow import keras from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, GRU from tensorflow.keras.callbacks import EarlyStopping 데이터 확인 df = pd.read_csv('./df_1_cbc_preprocessing_a.csv', index_col = 0) print

[2022 마이 블로그 리포트] 올해 활동 데이터로 알아보는 2022 나의 블로그 리듬 [내부링크]

블로그를 본격적으로 꾸미고 관리한 한 해 였습니다. 2022 마이 블로그 리포트 2022년 올해 당신의 블로그 리듬을 알아볼 시간! COME ON! campaign.naver.com

[문제 해결] Matplotlib 한글 폰트 깨짐 오류 [내부링크]

오류 내용 Jupyter Lab에서 그림 출력 시 다음과 같이 한글 폰트가 깨져서 나타납니다. import matplotlib.pyplot as plt fig, ax = plt.subplots() x = ['가', '나', '다'] y = [10, 20, 30] ax.bar(x, y) plt.show() 오류 해결 (1) 먼저 한글 폰트를 Jupyetr Lab의 Terminal 창을 통해 설치합니다. 압축 해제에 필요한 Unzip 패키지를 설치하고 나눔 글꼴을 /usr/share/fonts 폴더로 이동합니다. wget <http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip> unzip NanumFont_TTF_ALL.zip -d NanumFont rm -f NanumFont_TTF_ALL.zip mv NanumFont /usr/share/fonts/ fc-cache -f -v 오류 해결 (2) 이후 한글 폰트 설치

[이상치 탐지] IsolationForest : Single LABEL 예제 [내부링크]

데이터 유형 SAMPLE_ID SAMPLE_PATH FAN_TYPE LABEL 0 TRAIN_0000 ./train/TRAIN_0000.wav 2 0 1 TRAIN_0001 ./train/TRAIN_0001.wav 0 0 2 TRAIN_0002 ./train/TRAIN_0002.wav 0 0 3 TRAIN_0003 ./train/TRAIN_0003.wav 2 0 4 TRAIN_0004 ./train/TRAIN_0004.wav 2 0 LABEL은 정상(0) 데이터만 존재함 패키지 불러오기 !pip install pandas numpy librosa scikit-learn tqdm import random import pandas as pd import numpy as np import os import librosa from sklearn.model_selection import train_test_split from sklearn.ensemble import IsolationFore

[어노테이션] Label Studio 사용 방법 [내부링크]

Install locally with Docker docker run -it \ -p 8080:8080 \ --user root \ --name label-studio \ -v $(pwd)/mydata:/label-studio/data \ heartexlabs/label-studio:latest => Database and media directory: /label-studio/data => Static URL is set to: /static/ => Database and media directory: /label-studio/data => Static URL is set to: /static/ Starting new HTTPS connection (1): pypi.org:443 https://pypi.org:443 "GET /pypi/label-studio/json HTTP/1.1" 200 54959 Performing system checks... [2023-01-16 01:5

[모델 튜닝] Coarse & Fine Search 예제 : LightGBM 사용 [내부링크]

패키지 설정 from lightgbm import LGBMClassifier, LGBMRegressor Coarse Search n_estimators = 10 num_loop = 10 early_stopping_rounds = 20 coarse_hyperparameters_list = [] for loop in tqdm_notebook(range(num_loop)): learning_rate = 10 ** np.random.uniform(low = -10, high = 1) num_leaves = np.random.randint(2, 500) max_bin = np.random.randint(2, 500) min_child_samples = np.random.randint(2, 500) subsample = np.random.uniform(low = 0.1, high = 1.0) colsample_bytree = np.random.uniform(low = 0.1, high = 1.

[건강] 나의 헬스 일지 : 2022.11.07 ~ 2022.11.13 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 하체 + 복근 + 런닝 수요일 : 런닝 목요일 : 런닝 금요일 : 런닝 토요일 : 가슴 + 복근 + 런닝 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[건강] 나의 헬스 일지 : 2022.11.14 ~ 2022.11.20 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 런닝 금요일 : 어깨 + 복근 + 런 토요일 : 이두/삼두 + 복근 + 런닝 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[건강] 나의 헬스 일지 : 2022.11.21 ~ 2022.11.27 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 런닝 수요일 : 없음 목요일 : 없음 금요일 : 런닝 토요일 : 런닝 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[건강] 나의 헬스 일지 : 2022.11.28 ~ 2022.12.04 [내부링크]

인바디 루틴 월요일 : 런닝 화요일 : 런닝 수요일 : 하체 + 복근 + 런닝 목요일 : 가슴 + 복근 + 런닝 금요일 : 등 + 복근 + 런닝 토요일 : 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[와디즈 구매 후기] 글래너 휴대용 안경닦이 [내부링크]

[평점5.0 앵콜] 휴대,사용,닦임의 끝판왕! 고품격 휴대용 안경닦이 글래너는 보관, 휴대, 사용이 편리하게 깨끗이 닦이는 개선된 프리미엄 안경닦이입니다. 고품격 휴대용 안경닦이를 경험해 보세요. www.wadiz.kr 제품 사진 잘 닦여요~ 휴대가 편해요~ 케이스 가벼워요~

[문제 해결] K3s Cluster Install Service 오류 [내부링크]

오류 내용 클러스터에서 K3s 설치 과정에서 다음 명령어를 사용하면 서비스 실행 오류가 나타납니다. sudo curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.7+k3s1 sh -s - server --disable traefik --disable servicelb --disable local-storage --docker --write-kubeconfig-mode 644 [INFO] Using v1.21.7+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.21.7+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.21.7+k3s1/k3s [INFO] Verifying binary down

[Kubeflow] 1.6.0 멀티 노드 설치 - K3s 사용 [내부링크]

사전 준비 도커가 설치되어 있지 않다면, 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 클러스터 클라이언트 Username / Hostname IP Username / Hostname IP cluster / 245 203.255.217.245 client1 203.255.217.244 S/W 버전 클러스터 클라이언트 S/W Version S/W version K3s 1.25.4 Kubectl 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.6.0 공통 각 노드에서 방화벽을 해제합니다. sudo ufw disable Firewall stopped and disabled on system startup 클러스터 각 노드 간의 통신 소통을 위해 socat 패키지를 설치합니다. sudo apt-get update sudo apt-get install -y socat Swap 가상메모리를 종료합니다. sudo sed -i '/ swap / s/^

[건강] 나의 헬스 일지 : 2022.09.26 ~ 2022.10.02 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 런닝 수요일 : 런닝 목요일 : 런닝 금요일 : 런닝 토요일 : 가슴 + 복근 + 런닝 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[건강] 나의 헬스 일지 : 2022.10.03 ~ 2022.10.09 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 런닝 수요일 : 런닝 목요일 : 등 + 복근 + 런닝 금요일 : 어깨 + 복근 + 런닝 토요일 : 이두/삼두 + 복근 + 런닝 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[에어프라이어 구매 후기] 아이닉 오븐형 AO-16L [내부링크]

제품 사진 오븐형이라 내부 확인이 편해요~ 버튼으로 온도, 시간을 정밀하게 조절할 수 있어요~ 트레이 공간이 16L로 아주 넉넉해요~

[안경 구매 후기] 마노모스 Mary [내부링크]

제품 사진 사장님이 매우 친절해요~ 시력 검사하고 안경 압축(최대한 얇게)하는데 시간이 좀 필요했어요~ 원형 프레임 처음 착용해보는데 좋아요~ 가벼워요~

[Python] 대용량 파일 불러오기 : Pandas 패키지 to_parquet 사용 [내부링크]

패키지 설치 pip install pyarrow fastparquet Collecting pyarrow Downloading pyarrow-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.6 MB) || 25.6 MB 338 kB/s Collecting fastparquet Downloading fastparquet-0.8.0.tar.gz (400 kB) || 400 kB 24.3 MB/s Preparing metadata (setup.py) ... done Requirement already satisfied: numpy>=1.16.6 in /usr/local/lib/python3.6/dist-packages (from pyarrow) (1.19.5) Requirement already satisfied: pandas>=1.1.0 in /usr/local/lib/python3.6/dist-packages (f

[건강] 나의 헬스 일지 : 2022.10.10 ~ 2022.10.16 [내부링크]

인바디 인바디 생략 루틴 월요일 : 하체 + 복근 + 런닝 화요일 : 가슴 + 복근 + 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 어깨 + 복근 + 런닝 금요일 : 이두/삼두 + 복근 + 런닝 토요일 : 없음 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[건강] 나의 헬스 일지 : 2022.10.17 ~ 2022.10.23 [내부링크]

인바디 인바디 생략 루틴 월요일 : 없음 화요일 : 없음 수요일 : 하체 + 복근 + 런닝 목요일 : 런닝 금요일 : 런닝 토요일 : 없음 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[시계열 예측] 패턴 파악 - TSAI 사용 [내부링크]

사전 준비 본 예제는 도커 S/W가 필요합니다. [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 이미지 생성 sudo vim requirements.txt pandas numpy matplotlib seaborn plotly kaleido tqdm scikit-learn torch jupyter jupyterlab tsai sudo vim Dockerfile FROM python:3.9 RUN apt-get update && yes | apt-get upgrade RUN apt-get install -y git python3-pip RUN pip install --upgrade pip RUN pip install tensorflow-gpu COPY requirements.txt ./ RUN pip install -r requi

[건강] 나의 헬스 일지 : 2022.10.24 ~ 2022.10.30 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 런닝 수요일 : 가슴 + 복근 + 런닝 목요일 : 런닝 금요일 : 없음 토요일 : 등 + 복근 + 런닝 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[건강] 나의 헬스 일지 : 2022.10.31 ~ 2022.11.06 [내부링크]

인바디 인바디 생략 루틴 월요일 : 런닝 화요일 : 수요일 : 목요일 : 금요일 : 토요일 : 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[문제 해결] Jupyter Lab : Plotly 출력 오류 [내부링크]

오류 내용 import plotly.graph_objects as go import numpy as np x = np.arange(10) fig = go.Figure(data=go.Scatter(x=x, y=x**2)) fig.show() 그림 출력이 안되는 오류가 발생합니다. 오류 해결 import plotly.offline as pyo pyo.init_notebook_mode() import plotly.graph_objects as go import numpy as np x = np.arange(10) fig = go.Figure(data=go.Scatter(x=x, y=x**2)) fig.show()

[건강] 나의 헬스 일지 : 2022.08.01 ~ 2022.08.07 [내부링크]

인바디 인바디 생략 월요일 : 런닝 화요일 : 가슴 + 복근 + 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 어깨 + 복근 + 런닝 금요일 : 없음 토요일 : 없음 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[와디즈 구매 후기] 마크사운드 골전도 이어폰 [내부링크]

내귀의 피로감을 싹~귀를 열고 안전하게 사운드를 즐기자! 골전도 이어폰 이어폰 끼고 운동하거나 걸어가다 주변 소리 못 들어서 깜짝 놀란 적 한 번쯤 있지 않나요? 외부 소음을 감지하여 안전사고는 막아주고, 진동을 통해 생생한 사운드 전달은 그대로~ www.wadiz.kr 제품 사진 및 페어링 전원은 다기능 버튼을 2~3초 길게 누르면 켜집니다~ Previous image Next image 착용해도 무겁지 않아요~ 주변 소리가 다 들리니까 위험하지 않아요~ 골전도에 착용하니까 귓속이 아프지 않아요~ 격한 움직임에도 빠지지 않아요~ 페어링된 기기에서 노래가 잘 들려요~

[건강] 나의 헬스 일지 : 2022.08.08 ~ 2022.08.14 [내부링크]

인바디 월요일 : 런닝 화요일 : 런닝 수요일 : 이두/삼두 + 런닝 + 복근 목요일 : 런닝 금요일 : 하체 + 런닝 + 복근 토요일 : 가슴 + 런닝 + 복근 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[Python] GPU 사용 코드 [내부링크]

GPU 확인 import tensorflow as tf from tensorflow.python.client import device_lib print(tf.__version__) print(device_lib.list_local_devices()) 2.5.0 [name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 5920175265940887694 , name: "/device:GPU:0" device_type: "GPU" memory_limit: 26808418304 locality { bus_id: 1 links { } } incarnation: 14357516859692137061 physical_device_desc: "device: 0, name: Tesla V100-PCIE-32GB, pci bus id: 0000:21:00.0, compute capability

[건강] 나의 헬스 일지 : 2022.08.15 ~ 2022.08.21 [내부링크]

인바디 인바디 생략 월요일 : 없음 화요일 : 등 + 복근 + 런님 수요일 : 런닝 목요일 : 런닝 금요일 : 런닝 토요일 : 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[건강] 나의 헬스 일지 : 2022.08.22 ~ 2022.08.28 [내부링크]

인바디 월요일 : 어깨 + 복근 + 런닝 화요일 : 이두/삼두 + 복근 + 런닝 수요일 : 하체 + 복근 + 런닝 목요일 : 가슴 + 복근 + 런닝 금요일 : 등 + 복근 + 런닝 토요일 : 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[문제 해결] Kubeflow : Pipeline 생성 오류 [내부링크]

오류 내용 클라이언트에서 pipeline.py 파일을 실행하는 과정에서 다음과 같은 오류가 나타납니다. python3 pipeline.py SyntaxError: Non-ASCII character '\xeb' in file pipeline.py on line 24, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 오류 해결 클라이언트에서 pipeline.py 파일의 한글을 삭제하거나 영문으로 수정하고 재실행합니다. cat pipeline.py . . . if missing_value == '삭제': df = df.dropna() elif missing_value == '제로': df = df.fillna(0) . . . sudo vim pipeline.py . . . if missing_value == 'delete': df = df.dropna() elif missing_value ==

[Python] 날짜 차이 계산 [내부링크]

날짜 데이터 생성 import pandas as pd df = pd.DataFrame(pd.date_range(start = '2020-05-01', end = '2022-08-29', freq = 'H')) df.columns = ['datetime'] df['values'] = 1 df.set_index('datetime', inplace = True) df values datetime 2020-05-01 00:00:00 1 2020-05-01 01:00:00 1 2020-05-01 02:00:00 1 2020-05-01 03:00:00 1 2020-05-01 04:00:00 1 ... ... 2022-08-28 20:00:00 1 2022-08-28 21:00:00 1 2022-08-28 22:00:00 1 2022-08-28 23:00:00 1 2022-08-29 00:00:00 1 20401 rows × 1 columns 두 날짜 사이의 기간 계산 생성된 데이터에서 시작 날

[Serving] SDK API 파싱 모듈 사용 - EfficientNet 예제(강아지, 고양이 이미지 분류) [내부링크]

사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.1 버전에서 진행합니다. [Kubeflow] 1.5.1 멀티 노드 설치 - K3s 사용 사전 준비 도커가 설치되어 있지만 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 노드 구성 S/... blog.naver.com 클라이언트 클라이언트에서 예제에 필요한 컨테이너 이미지를 내려 받고, run.py 파일을 생성합니다. docker pull dgkim1983/image-classification:efficientnet . . . Digest: sha256:4fa0fa51e9bbaa3b4548777531c9d8093872af2b477215bc667a34f704dc4245 Status: Downloaded newer image for dgkim1983/image-classification:efficientnet docker.io/dgkim1983/image-classification:efficientnet sudo vim

[건강] 나의 헬스 일지 : 2022.08.29 ~ 2022.09.04 [내부링크]

인바디 인바디 생략 월요일 : 런닝 화요일 : 런닝 수요일 : 어깨 + 복근 + 런닝 목요일 : 런닝 금요일 : 이두/삼두 + 복근 + 런닝 토요일 : 없음 유산소 운동 : 20~30분 무산소 운동 : 60~90분

[문제 해결] Kubeflow : PyTorch Shared Memory 오류 [내부링크]

오류 내용 Kubeflow에서 딥러닝 학습 중 다음과 같은 오류가 나타납니다. ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm) 오류 해결 클라이언트에서 run.py 파일에 docker에서 사용하는 --ipc=host 기능을 추가합니다. sudo vim run.py . . . def pipeline(): . . . model = ... smh_vol = kfp.dsl.PipelineVolume(name = 'shm-vol', empty_dir = {'medium': 'Memory'}) model.add_pvolumes({'/dev/shm': smh_vol}) . . .

[건강] 나의 헬스 일지 : 2022.09.05 ~ 2022.09.11 [내부링크]

인바디 인바디 생략 월요일 : 런닝 화요일 : 런닝 수요일 : 런닝 목요일 : 하체 + 복근 + 런닝 금요일 : 런닝 토요일 : 없음 유산소 운동 : 20~30분 무산소 운동 : 60~90분

[건강] 나의 헬스 일지 : 2022.09.12 ~ 2022.09.18 [내부링크]

인바디 인바디 생략 월요일 : 없음 화요일 : 없음 수요일 : 없음 목요일 : 없음 금요일 : 없음 토요일 : 런닝 유산소 운동 : 20~30분 무산소 운동 : 60~90분

[건강] 나의 헬스 일지 : 2022.09.19 ~ 2022.09.25 [내부링크]

인바디 월요일 : 가슴 + 복근 + 런닝 화요일 : 등 + 복근 + 런닝 수요일 : 어깨 + 복근 + 런닝 목요일 : 이두/삼두 + 복근 + 런닝 금요일 : 하체 + 복근 + 런닝 토요일 : 없음 무산소 운동 : 60 ~ 90분 유산소 운동 : 20 ~ 30분

[시계열 예측] 패턴 파악 - LSTM 사용 [내부링크]

사전 준비 본 예제는 도커 환경에서 진행합니다. [시계열 예측] 도커 환경 구축 사전 준비 도커 관련 S/W 설치가 필요합니다. 도커 이미지 생성 requirements.txt 파일을 생성합니다. D... blog.naver.com 데이터 !pip install finance-datareader Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Collecting finance-datareader Downloading finance_datareader-0.9.42-py3-none-any.whl (17 kB) Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from finance-datareader) (4.9.1) Requirement already satisfied:

[객체 탐지] Yolov4 예제 - 코랩 사용 [내부링크]

패키지 import numpy as np import cv2 # openCV import matplotlib.pyplot as plt plt.rcParams["figure.figsize"]=[12,8] # check the opencv version print(cv2.__version__) 4.6.0 데이터 import requests url = 'https://raw.githubusercontent.com/Masterx-AI/Project_Object_Detection_Yolo_V4/main/people_bicycles.jpg' r = requests.get(url, allow_redirects=True) open('people_bicycles.jpg', 'wb').write(r.content) 72647 test_img = cv2.imread('people_bicycles.jpg') img = cv2.cvtColor(test_img, cv2.COLOR_BGR2RGB) def pl

[Linux] SSH 포트 변경 [내부링크]

Bash Shell Command Semanage 패키지를 설치합니다. sudo yum install -y policycoreutils-python TCP 포트를 변경하는데, 본 예제에서는 9000으로 설정합니다. sudo semanage port -m -t ssh_port_t -p tcp 9000 SSH 설정을 변경합니다. sudo vim /etc/ssh/sshd_config . . . #Port 22 Port 9000 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: 펌웨어에 변경된 포트를 등록하고, SSH 서비스를 재시작합니다. sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp sudo firewall-cmd --reload sudo systemctl restart sshd.service 테스트 ssh [email protected] -p 9000 us

[건강] 나의 헬스 일지 : 2022.07.11 ~ 2022.07.17 [내부링크]

인바디 인바디 생략 월요일 : 가슴 + 복근 + 런닝 화요일 : 런닝 수요일 : 없음 목요일 : 등 + 복근 + 런닝 금요일 : 런닝 토요일 : 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[Python] Unnamed 열(Columns) 삭제 [내부링크]

Pandas 데이터프레임 기준으로 설명합니다. df.head(4) Unnamed: 0 Survived Sex Age Embarked 0 0 male 22.0 S 1 1 female 38.0 C 2 1 female 26.0 S for i, col in enumerate(df.columns): if 'Unnamed' in col: df.drop([col], axis = 1, inplace = True) else: df df.head(4) Survived Sex Age Embarked 0 male 22.0 S 1 female 38.0 C 1 female 26.0 S

나의 헬스 일지 : 2022.07.18 ~ 2022.07.24 [내부링크]

인바디 인바디 생략 월요일 : 어깨 + 복근 + 런닝 화요일 : 이두/삼두 + 복근 + 런닝 수요일 : 하체 + 복근 + 런닝 목요일 : 가슴 + 복근 + 런닝 금요일 : 등 + 복근 + 런닝 토요일 : 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[문제 해결] PDF Reports : 'cairo' 오류 [내부링크]

오류 내용 from pdf_reports import pug_to_html, write_report html = pug_to_html( 'template.pug', title = 'PDF Report' ) write_report(html, 'example.pdf') --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-8-6b4b193766a1> in <module> ----> 1 write_report(html, 'example.pdf') /usr/local/lib/python3.6/dist-packages/pdf_reports-0.3.4-py3.6.egg/pdf_reports/pdf_reports.py in write_report(html, target, base_url, use_defaul

[Kubeflow] 1.5.1 멀티 노드 설치 - K3s 사용 [내부링크]

사전 준비 도커가 설치되어 있지만 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 노드 구성 클러스터 클라이언트 Username / Hostname IP Username / Hostname IP gpu-201 / cluster 203.255.217.201 gpu-244 / client-1 203.255.217.244 gpu-245 / client-2 203.255.217.245 gpu-187 / client-3 203.255.217.187 S/W 버전 클러스터 클라이언트 S/W Version S/W Version K3s 1.21.7 Kubectl 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.5.1 공통 Hostname 정보를 /etc/

[문제 해결] Dockerfile : apt update 오류 [내부링크]

오류 내용 cat $HOME/jupyter/Dockerfile FROM tensorflow/tensorflow:2.1.0-gpu-py3-jupyter RUN apt update RUN apt install -y net-tools vim tree wget curl git RUN pip3 install pandas numpy matplotlib seaborn plotly kaleido jupyterlab tqdm docker build -t tensorflow-gpu:v2.1.0 . . . . Reading package lists... W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A

나의 헬스 일지 : 2022.07.25 ~ 2022.07.31 [내부링크]

인바디 인바디 생략 월요일 : 어깨 + 복근 + 런닝 화요일 : 런닝 수요일 : 이두/삼두 + 복근 + 런닝 목요일 : 하체 + 복근 + 런닝 금요일 : 런닝 토요일 : 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[시계열 예측] 도커 환경 구축 [내부링크]

사전 준비 도커 관련 S/W 설치가 필요합니다. [Docker, K8s] 도커, 도커 컴포즈, 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커 이미지 생성 requirements.txt 파일을 생성합니다. sudo vim $HOME/timeseries/requirements.txt pandas numpy scikit-learn matplotlib jupyterlab Dockerfile을 생성합니다. sudo vim $HOME/timeseries/Dockerfile FROM tensorflow/tensorflow:2.1.0-gpu-py3 WORKDIR /home RUN apt-get update \ && apt-get install -y curl git fonts-nanum fontconfig \ && rm -rf ~/.cache/matplotlib/* \ && fc-

[시계열 예측] 이상 탐지 - LSTM AE(AutoEncoder) 사용 [내부링크]

사전 준비 시계열 예측 모델을 학습하고 평가할 수 있는 분석 환경이 필요합니다. [시계열 예측] 도커 환경 구축 사전 준비 도커 관련 S/W 설치가 필요합니다. 도커 이미지 생성 requirements.txt 파일을 생성합니다. D... blog.naver.com 학습 데이터 준비 2종류 데이터(정상, 비정상)를 준비합니다. import pandas as pd # 모터 정상 normal = pd.read_csv('normal_temperature_edited.txt', header = None, names = ['temperature']) normal.head() temperature 0 23.786 1 23.791 2 23.791 3 23.792 4 23.796 # 모터 오류 damage = pd.read_csv('damage_temperature_edited.txt', header = None, names = ['temperature']) damage.head() temperat

[문제 해결] Kubeflow Pipeline KeyError : '*_path' 오류 [내부링크]

오류 내용 파이프라인 예시 코드입니다. . . . def volume_mount( data_path: OutputPath('csv'), file_path, ): . . . def data_load( data_path: OutputPath('csv'), train_data_path: InputPath('csv'), ): . . . def my_pipeline( data_path: OutputPath('csv'), ): data_load_ = data_load( volume_mount_.outputs['data_path'], )\ . . . 클라이언트에서 파이프라인 실행 시 다음과 같은 오류가 나타납니다. python3 input_output.py --file-path train.csv Traceback (most recent call last): File "input_output.py", line 73, in <module> kfp.compiler.Compiler().compile(m

[와디즈 구매 후기] 벨리타스 카본그립 [내부링크]

아직도 맨손으로 운동 하시나요?안전 트레이닝 필수템 벨리타스 카본그립! 손목에 체결하는 순간 운동에만 집중! 헬스 장갑은 선택이 아닌 필수입니다. 전문 크로스핏 선수들과 협업해서 만든 안전 트레이닝 필수템 쿼드 카본 그립! 지금 바로 확인하세요. www.wadiz.kr 제품 사진 착용감 좋아요~ 미끄럽지 않아요~ 가벼워요~

[Serving] Spark API 추가 예제 [내부링크]

사전 준비 본 예제는 Spark 환경에서 진행되며, Spark API → Spark Master → Kubeflow Pipeline → MLflow 순으로 결과를 확인할 수 있습니다. [Apache Spark] 도커 환경 구축 사전 준비 1. 이전 블로그를 참고하여 도커 관련 S/W를 설치합니다. 도커 환경 설정 1. 폴더 구조 2. 도... blog.naver.com 본 예제에서 사용되는 Kubeflow Pipeline 코드는 다음 링크에서 확인할 수 있습니다. [Serving] SDK API 파싱 모듈 사용 - MLflow Pipeline 예제 사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 파이프라인 먼저 패키지를 선언합니... blog.naver.com Spark API 클라이언트에서 Spark Master로 REST API를 제출합니다. curl -X POST http://203.255.217.187:6066/v1/submissions/cr

[Serving] SPARK API 예제 [내부링크]

사전 준비 본 예제는 Spark 환경에서 진행합니다. 단일 서버 : 도커 환경 구축 사전 준비 1. 이전 블로그를 참고하여 도커 관련 S/W를 설치합니다. 도커 환경 설정 1. 폴더 구조 2. 도... blog.naver.com 클라이언트 클라이언트 /home/gpu-187/kubeflow/pipeline/upload 폴더에 run_change.py 파일을 업로드합니다. 첨부파일 run_change.py 파일 다운로드 클라이언트에서 Spark REST API를 작성하고 실행합니다. curl -X POST http://203.255.217.187:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ "action" : "CreateSubmissionRequest", "appArgs" : [ "/home/gpu-187/kubeflow/pipeline/upload/run_chan

[Serving] SDK API 파싱 모듈 사용 - 데이터 로드, 전처리(결측값 처리) [내부링크]

사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com 그리고 이전 블로그를 참고하여 데이터를 로드합니다. 멀티 노드 클러스터 : SDK API 예제(파싱 모듈 사용) - 데이터 로드 사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 클러스터 클러스터 /mnt/data 폴더... blog.naver.com 클러스터 파싱 모듈은 Argparse 패키지를 사용합니다. def data_preprocessing( data_path: OutputPath('csv'), train_data_path: InputPath('csv'), missing_value, ): import pandas as pd train_data = pd.re

[Serving] SDK API 파싱 모듈 사용 - 데이터 로드, 전처리(결측값 처리, 이상치 처리) [내부링크]

사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com 그리고 이전 블로그를 참고하여 데이터 로드 및 데이터 전처리 일부분을 로드합니다. 멀티 노드 클러스터 : SDK API 예제(파싱 모듈 사용) - 데이터 로드, 데이터 전처리(결측값) 사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 그리고 이전 블로그를 참고하여 데... blog.naver.com 클러스터 이상치 처리는 두 종류 입니다. # outlier if outlier == 'no': train_data elif outlier == 'delete': columns = train_data.columns.tolist() columns.remove('LABEL')

[건강] 나의 헬스 일지 : 2022.07.04 ~ 2022.07.10 [내부링크]

인바디 인바디 생략 월요일 : 런닝 화요일 : 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 어깨 + 복근 + 런닝 금요일 : 이두/삼두 + 복근 + 런닝 토요일 : 하체 + 복근 + 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[Serving] SDK API 파싱 모듈 사용 - MLflow Pipeline 예제 [내부링크]

사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. [MLOps] Kubeflow 1.5.0 멀티 노드 설치 - K3s 사용 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com 파이프라인 먼저 패키지를 선언합니다. import warnings warnings.filterwarnings('ignore') import argparse import requests from functools import partial from kfp.components import InputPath, OutputPath, create_component_from_func from kfp import onprem import kfp from kfp import dsl 데이터 로드 관련 부분입니다. @partial( create_component_from_func, base_image = 'py

[와디즈] 리뉴얼 되어 더 미쳐서 돌아온 매드백 [내부링크]

구매 링크 [3만원대/소가죽 메신저백]리뉴얼 되어 더 미쳐서 돌아온 매드백! 가격도 디자인도 미쳤다! 앤트레스가 만든 3만원대 소가죽 메신저백 MAD백~ 가볍고 실용적인 나만의 가죽 메신저백을 원하신다면 지금 바로 MAD백하세요!! www.wadiz.kr 제품 사진 매드백 S사이즈 입니다~ 디자인 좋고, 가볍고, 수납 공간도 적당하고, 엄청 심플해요! 정말 맘에 쏙 드네요~

Bash Shell 테마 변경 : Zsh 사용 [내부링크]

Zsh 설치 우분투 18.04 버전 기준으로 설치 방법을 알려드립니다. sudo apt update Hit:1 https://download.docker.com/linux/ubuntu bionic InRelease Hit:2 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64 InRelease Get:3 https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64 InRelease [1,481 B] Get:4 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64 InRelease [1,474 B] Hit:6 http://security.ubuntu.com/ubuntu bionic-security InRelease Hit:7 http://kr.archive.ubuntu.com/ubuntu bi

나의 헬스 일지 : 2022.06.20 ~ 2022.06.26 [내부링크]

인바디 월요일 : 하체 + 복근 + 런닝 화요일 : 가슴 + 복근 + 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 어깨 + 복근 + 런닝 금요일 : 런닝 토요일 : 이두/삼두 + 복근 + 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

[오류 해결] Django Invalid HTTP_HOST header [내부링크]

오류 내용 개발 서버 실행 후 다음과 같은 오류가 나타납니다. cd $HOME/django/mystie python manage.py runserver 0.0.0.0:9090 Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. June 27, 2022 - 06:12:58 Django version 4.0.5, using settings 'mysite.settings' Start

나의 헬스 일지 : 2022.06.27 ~ 2022.07.03 [내부링크]

인바디 월요일 : 하체 + 복근 + 런닝 화요일 : 런닝 수요일 : 런닝 목요일 : 런닝 금요일 : 런닝 토요일 : 가슴 + 복근 + 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

멀티 노드 클러스터 : SDK API 예제(파싱 모듈 사용) - 데이터 로드 [내부링크]

사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com 클러스터 클러스터 /mnt/data 폴더에 train.csv 데이터를 업로드합니다. 첨부파일 train.csv 파일 다운로드 클라이언트 파싱 모듈은 Argparse 패키지를 사용합니다. import argparse def data_load( train_data_output_path: OutputPath('csv'), data_path: str, ): import pandas as pd train = pd.read_csv('/mnt/data/' + data_path) train.drop(['Unnamed: 0'], axis = 1, inplace = True) train.to_csv(train_da

멀티 노드 클러스터 : 특정 상태 Pod 삭제 [내부링크]

Pod 확인 kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE . . . cattle-system rancher-84696c75d9-8jrcl 0/1 Running 0 109s cattle-system rancher-84696c75d9-gzvr9 0/1 Running 0 108s cattle-system rancher-84696c75d9-fp4xt 0/1 Running 0 108s Pod 삭제 클라이언트에서 실행 중(Running)인 cattle-system Pod을 삭제하겠습니다. kubectl get pods -n cattle-system | grep Running | awk '{print $1}' | xargs kubectl delete pods -n cattle-system pod "rancher-84696c75d9-gzvr9" deleted pod "rancher-84696c75d9-fp4xt" deleted pod

멀티 노드 클러스터 : Rancher 설치 후 클러스터 구축 [내부링크]

사전 준비 도커 관련 S/W가 필요합니다. 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 멀티 노드 클러스터 구성 아이피 S/W 노드 구분 203.255.217.245 Rancher 클러스터 / 마스터 203.255.217.246 클라이언트 / 워커 1 203.255.217.247 클라이언트 / 워커 2 Rancher 설치 클러스터에서 Rancher을 설치합니다. docker run -d --restart=unless-stopped --name rancher -p 80:80 -p 443:443 --privileged rancher/rancher Unable to find image 'rancher/rancher:latest' locally latest: Pulling from rancher/rancher a8ac3a907045: Pull comp

나의 헬스 일지 : 2022.06.13 ~ 2022.06.19 [내부링크]

인바디 월요일 : 가슴 + 복근 + 런닝 화요일 : 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 어깨 + 복근 + 런닝 금요일 : 이두/삼두 + 복근 + 런닝 토요일 : 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

멀티 노드 클러스터 : SDK API를 이용한 Pipeline 업로드 예제 [내부링크]

사전 준비 본 예제는 K3s 기반 Kubeflow 1.5.0 버전에서 진행합니다. 멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com Pipeline 코드 : 클라이언트에서 진행합니다. 패키지를 설정합니다. import requests from functools import partial from kfp.components import InputPath, OutputPath, create_component_from_func import kfp from kfp import dsl Scikit-learn 데이터를 사용하는 컨테이너를 생성합니다. @partial( create_component_from_func, packages_to_install=["pandas", "scikit-learn"], ) def load_iris_data

나의 헬스 일지 : 2022.06.06 ~ 2022.06.12 [내부링크]

인바디 &운동 일지 월요일 : 하체 + 복근 + 런닝 화요일 : 가슴 + 복근 + 런닝 수요일 : 등 + 복근 + 런닝 목요일 : 어깨 + 복근 + 런닝 금요일 : 이두/삼두 + 복근 + 런닝 토요일 : 하체 + 복근 + 런닝 무산소 운동 : 60~90분 유산소 운동 : 20~30분

멀티 노드 클러스터 : BentoML API 예제 - MLflow 저장소 확인 [내부링크]

사전 준비 MLflow에 저장된 모델이 필요하기 때문에 이전 블로그에서 가져옵니다. 멀티 노드 클러스터 : MLflow 모델 저장 - 모델 생성 및 업로드 사전 준비 이전 블로그에서 데이터 볼륨 생성 및 데이터 로드 과정과 모델 학습을 위한 전처리 과정이 필요... blog.naver.com 모델 버저닝 클러스터에서 mlflow-server-service에 접속합니다. kubectl port-forward --address 0.0.0.0 svc/mlflow-server-service -n mlflow-system 5000:5000 Forwarding from 0.0.0.0:5000 -> 5000 Handling connection for 5000 현재 모델은 버전 관리가 안되어 있기 때문에, 해당 모델의 Artifact 메뉴에서 Register Model 버튼을 사용하여 모델을 관리할 수 있습니다. Create New Model 옵션을 선택합니다. 프로젝트 이름을 정의하고 등록합니다

멀티 노드 클러스터 : 로깅 [내부링크]

사전 준비 이전 블로그에서 생성된 파드(Pod)의 내부 상태를 확인해보겠습니다. 멀티 노드 클러스터 : MLflow API 예제(Swagger 사용 - IRIS 데이터, Scikit Learn 모델 사전 준비 REST 테스트를 위해 Seldon Core 프레임워크가 필요합니다. 파이프라인 설정 클라이언트에... blog.naver.com 로깅 클라이언트에서 kubeflow-user-example-com으로 시작되는 Namespace를 조회하고 seldon-example 상태를 확인합니다. kubectl get pods -n kubeflow-user-example-com NAME READY STATUS RESTARTS AGE ml-pipeline-visualizationserver-65f5bfb4bf-9z6vm 2/2 Running 0 4d23h ml-pipeline-ui-artifact-d57bd98d7-wmvgf 2/2 Running 0 4d23h seldon-example-mod

멀티 노드 클러스터 : MLflow API 예제(Swagger 사용 - IRIS 데이터, Scikit Learn 모델 [내부링크]

사전 준비 REST 테스트를 위해 Seldon Core 프레임워크가 필요합니다. 멀티 노드 클러스터 : Seldon Core 설치 사전 준비 머신러닝 모델 배포 및 관리에 필요한 Seldon Core 프레임워크는 K3s로 구축된 Kubeflow 클... blog.naver.com 파이프라인 설정 클라이언트에서 mlflow_pipeline.py 파일을 생성합니다. cd $HOME/kubeflow/pipeline sudo vim mlflow_pipeline.py from functools import partial import kfp from kfp.components import InputPath, OutputPath, create_component_from_func from kfp.dsl import pipeline @partial( create_component_from_func, packages_to_install = ['pandas', 'scikit-learn'], ) def

RBAC: access denied 해결 [내부링크]

오류 내용 웹에서 Swagger 접속 시 다음과 같은 오류가 나타납니다. 오류 해결 클라이언트에서 MLflow 관련 Seldon Core 파일(seldon-mlflow.yaml)에서 Namespace를 확인합니다. cat $HOME/kubeflow/api/seldon-mlflow.yaml apiVersion: machinelearning.seldon.io/v1 kind: SeldonDeployment metadata: name: seldon-example namespace: kubeflow-user-example-com spec: . . . 클라이언트에서 Namespace 라벨을 설정합니다. kubectl label namespace {NAMESPACE} istio-injection=disabled --overwrite 클라이언트에서 seldon-init-container-secret.yaml 파일과 seldon-mlflow.yaml 파일을 삭제하고 다시 생성합니다. cd $HOME

도커 & 도커 컴포즈 & 엔비디아 도커 설치 [내부링크]

우분투에서 도커 설치하기 Install Docker Engine on Ubuntu Instructions for installing Docker Engine on Ubuntu docs.docker.com 1. 먼저 오래된 버전을 삭제합니다. sudo apt-get remove docker docker-engine docker.io containerd runc 2. 저장소를 업데이트합니다. sudo apt-get update sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/s

MMDetection 프로젝트 도커 환경 구축 [내부링크]

우분투에서 MMDetection 프로젝트 환경 구축하기 GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark OpenMMLab Detection Toolbox and Benchmark. Contribute to open-mmlab/mmdetection development by creating an account on GitHub. github.com 1. GPU 종류를 확인합니다. nvidia-smi --query-gpu=name --format=csv # GPU 드라이버가 설치되어 있다면 다음과 같이 출력되며, GPU 종류는 달라질 수 있습니다. name NVIDIA GeForce GTX 1080 2. GPU 종류에 적합한 CUDA 버전을 확인합니다. CUDA GPUs Your GPU Compute Capability Are you looking for the compute capability for

MMDetection 프로젝트 예제 [내부링크]

도커 컨테이너 내부 설정하기 1. 아이피를 확인합니다. sudo apt-get install -y net-tools ifconfig # 네트워크 주소는 다음과 같이 출력됩니다. 생략 enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet netmask broadcast inet6 fe80::91c2:c2ef:4bfb:56d1 prefixlen 64 scopeid 0x20<link> ether 4c:ed:fb:09:e5:f9 txqueuelen 1000 (Ethernet) RX packets 8158069 bytes 12237061719 (12.2 GB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3909738 bytes 256881457 (256.8 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: fla

MMDetection 프로젝트 데이터 형식 변환 : XML to JSON [내부링크]

PASCAL VOC Dataset to COCO Dataset 변환 1. PASCAL VOC Dataset 2012를 다운로드합니다. Pascal VOC Dataset Mirror Pascal VOC Dataset Mirror The Pascal VOC challenge is a very popular dataset for building and evaluating algorithms for image classification, object detection, and segmentation. However, the website goes down like all the time. In case you need the file, here they are: VOC 2012 Train/Validation Data... pjreddie.com 2. 이전 블로그를 참고하여 웹 페이지에서 주피터 랩을 실행합니다. PyTorch 기반 MMDetection 프로젝트 데모 실행 도커 컨테이너 내부

MMDetection 프로젝트 모델 훈련 및 추론 : Mask RCNN 사용 [내부링크]

Config 파일 설정 1. 이전 블로그를 참고하여 웹 페이지에서 주피터 랩을 실행합니다. PyTorch 기반 MMDetection 프로젝트 데모 실행 도커 컨테이너 내부 설정하기 1. 아이피를 확인합니다. 2. 컨테이너에 접속합니다. 3. 컨테이너 내부에서 ... blog.naver.com 2. 주피터 랩에서 [config] - [mask_rcnn] 폴더 내 mask_rcnn_r50_caffe_fpn_mstrain-poly_1x_coco.py을 복사합니다. 3. 주피터 랩에서 [config] 폴더에 [example_latest] 폴더를 추가하고, 2번에서 복사한 파일을 붙여넣는데, 파일 이름과 내용을 변경합니다. # 파일 이름 # mask_rcnn_r50_caffe_fpn_mstrain-poly_1x_coco.py에서 # mask_rcnn_r50_caffe_fpn_mstrain-poly_1x_example_latest.py로 변경했습니다. # 다음 내용을 mask_rcnn_r50_

컨테이너 내부에서 한글 폴더 사용 [내부링크]

도커파일 로케일 적용 전 1. 다음 명령어로 도커파일을 생성하겠습니다. sudo vim Dockerfile 2. 도커파일에는 다음 내용을 입력합니다. FROM ubuntu:18.04 RUN apt-get update \ && apt-get install -y python3 python3-pip \ && python3 -m pip install --upgrade pip \ && pip install jupyterlab 3. 도커 이미지는 다음 명령어로 만들어 보겠습니다. docker build -t ubuntu-test . # docker build 명령어를 사용하면 다음과 같이 출력됩니다. Untagged: test0315:latest Deleted: sha256:dcf24ca1a285c0f3c0195ae198d548b897a56ad73465843e03bc0d5d1f185d84 Deleted: sha256:f6e6e53fc068fc35a49706d510ab78463ceef2c4a34

TensorFlow 도커 환경 구축 [내부링크]

우분투에서 TensorFlow 2.X 환경 구축하기 1. 도커파일을 생성합니다. cd /home/$USER/ sudo mkdir tensorflow sudo mkdir tensorflow/image-build cd tensorflow/image-build sudo apt-get install -y vim sudo vim Dockerfile 2. 도커파일에는 다음 내용을 입력합니다. # vim 편집기에서 입력 방법은 i 키, 저장 방법은 :wq 키 입니다. FROM tensorflow/tensorflow:2.6.0-gpu-jupyter ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y vim net-tools wget curl python3 python3-pip \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN python3 -m pip insta

싱글 노드 클러스터 : Kubeflow 1.4.0 설치(Minikube 사용) [내부링크]

Kubeflow 설치에 필요한 Software 확인하기 1. Kubeflow 설치에 필요한 Software 종류는 다음과 같습니다. 종류 버전 Ubuntu 20.04.2 LTS Docker 20.10.13 Minikube 1.25.2 Kubernetes 1.21.7 Kubectl (Client) 1.20.0 Kubectl (Server) 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.4.0 GPU (옵션) NVIDIA Driver 470.103.01 CUDA 11.4 2. 서버 사양은 다음과 같습니다. 하드디스크 메모리 코어 200G 15G 4 쿠버네티스 설치 전 준비 사항 1. 이전 블로그를 참고하여 서버에 도커를 설치하고, 패키지를 추가로 설치합니다. 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com sudo a

싱글 노드 클러스터 : Central Dashboard [내부링크]

Central Dashboard 접속하기 1. Kubeflow 정보는 이전 블로그를 참고합니다. 싱글 노드 클러스터 : 예제 실행 Kubeflow 설치에 필요한 Software 확인하기 1. Kubeflow 설치에 필요한 Software 종류는 다음과 같습니... blog.naver.com 2. 다음 명령어로 Central Dashboard에 필요한 정보를 확인합니다. kubectl get svc -n istio-system # istio-system 정보는 다음과 같습니다. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE authservice ClusterIP 10.111.130.242 <none> 8080/TCP 7m42s cluster-local-gateway ClusterIP 10.110.53.59 <none> 15020/TCP,80/TCP 7m42s istio-ingressgateway NodePort 10.104.192.158 <none>

싱글 노드 클러스터 : Notebooks [내부링크]

1. Kubeflow 정보는 이전 블로그를 참고합니다. 싱글 노드 클러스터 : 예제 실행 Kubeflow 설치에 필요한 Software 확인하기 1. Kubeflow 설치에 필요한 Software 종류는 다음과 같습니... blog.naver.com 2. Central Dashboard 정보는 이전 블로그를 참고합니다. 싱글 노드 클러스터 : Central Dashboard Central Dashboard 접속하기 1. Kubeflow 정보는 이전 블로그를 참고합니다. 2. 다음 명령어로 Central... blog.naver.com 3. 웹페이지에서 Notebooks 메뉴로 접속하여 신규 노트북을 생성합니다. 4. 3번에서 생성된 노트북을 확인합니다. 5. 노트북 상태는 다음 명령어로 확인 가능하며, 상태 목록이 실행 중일 때 까지 기다립니다. kubectl get pods -n kubeflow-user-example-com # kubeflow-user-example-com 상태는

싱글 노드 클러스터 : Kubeflow 삭제 및 Minikube 초기화 [내부링크]

Kubeflow 실행 중지 1. 다음 명령어로 실행 중인 Kubeflow를 확인합니다. ps PID TTY TIME CMD 2422425 pts/0 00:00:00 bash 2435478 pts/0 00:00:03 kubectl 2485552 pts/0 00:00:00 ps 2. 1번 목록에서 Kubeflow PID 번호를 확인하고 삭제합니다. sudo kill -9 2435478 PID TTY TIME CMD 2422425 pts/0 00:00:00 bash 2486406 pts/0 00:00:00 ps [1]+ Killed kubectl port-forward --address 0.0.0.0 svc/istio-ingressgateway -n istio-system 32590:80 Minikube 삭제 1. 다음 명령어로 Minikube를 중지합니다. minikube stop * Profile "minikube" not found. Run "minikube profile list"

TensorFlow 예제 [내부링크]

웹 페이지에서 주피터 랩 접속하기 1. 이전 블로그를 참고하여 주피터 랩에 접속합니다. TensorFlow 도커 환경 구축 우분투에서 TensorFlow 2.X 환경 구축하기 1. 도커파일을 생성합니다. 2. 도커파일에는 다음 내용을 입... blog.naver.com 예제 모델 실행하기 1. 패키지 관련 코드를 추가합니다. import os import pathlib import matplotlib import matplotlib.pyplot as plt import io import scipy.misc import numpy as np from six import BytesIO from PIL import Image, ImageDraw, ImageFont from six.moves.urllib.request import urlopen import tensorflow as tf import tensorflow_hub as hub tf.get_logger().setLevel('ERR

TensorFlow 모델 훈련 및 추론 : EfficientDet 사용 [내부링크]

주피터 랩 접속 TensorFlow 도커 환경 구축 우분투에서 TensorFlow 2.X 환경 구축하기 1. 도커파일을 생성합니다. 2. 도커파일에는 다음 내용을 입... blog.naver.com 패키지 설정 1. 패키지를 설치하고 모델 학습에 필요한 패키지를 선언합니다. !pip install GitPython !pip install wget import os import glob import pandas as pd import xml.etree.ElementTree as ET import git import shutil import re import wget import tarfile import time import datetime import io import scipy.misc import numpy as np import six import time from IPython.display import display from six import BytesIO import m

멀티 노드 클러스터 : S/W 설치 [내부링크]

요약 1. 두 대의 가상 서버를 기준으로 설치 과정을 설명합니다. S/W Username / Hostname IP VMware Workstation 16 Player master / control-plane 192.168.74.143 node1 / worker 192.168.74.142 2. 쿠버네티스 설치 및 클러스터 구축은 XShell 7 소프트웨어를 사용하여 진행하였습니다. < Xshell 7 소프트웨어 사용 > 공통 진행 1. 도커 엔진 설치 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 2. Swap 종료 sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo swapoff -a free -h # Swap이 종료되면 다음과 같이 출력됩니다. total used free shared buff/c

멀티 노드 클러스터 : BentoML 설치 및 예제(Swagger 사용) - IRIS 데이터, Scikit Learn 모델 [내부링크]

사전 준비 머신러닝 모델 배포 및 관리에 필요한 API 프레임워크는 K3s로 구축된 Kubeflow 클러스터에서 설치합니다. 멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com BentoML 설치 클라이언트에서 bentoml 최신 버전을 설치합니다. pip install bentoml --pre . . . Attempting uninstall: typing-extensions Found existing installation: typing-extensions 3.7.4.3 Uninstalling typing-extensions-3.7.4.3: Successfully uninstalled typing-extensions-3.7.4.3 Attempting uninstall: idna Found existing installation

멀티 노드 클러스터 : Kubeflow 삭제 및 K3s 초기화 [내부링크]

K3s 삭제 클러스터에서 실행 중인 Pod를 먼저 종료하고, K3s를 삭제합니다. /usr/local/bin/k3s-killall.sh . . . + rm -rf /var/lib/cni/ + iptables-save + grep -v KUBE- + grep -v CNI- + grep -v flannel + iptables-restore + ip6tables-save + grep -v KUBE- + grep -v CNI- + grep -v flannel + ip6tables-restore /usr/local/bin/k3s-uninstall.sh + id -u + [ 29999 -eq 0 ] + exec sudo /usr/local/bin/k3s-uninstall.sh + id -u + [ 0 -eq 0 ] + /usr/local/bin/k3s-killall.sh + [ -s /etc/systemd/system/k3s.service ] + basename /etc/systemd/syst

멀티 노드 클러스터 : PV/PV & Pipeline 연동(POD 미생성) - Markdown 시각화 [내부링크]

사전 준비 이전 블로그를 참고하여 EDA 단계까지 준비합니다. 멀티 노드 클러스터 : PV/PVC & Pipeline 연동(POD 미생성) - Plotly 시각화 사전 준비 이전 블로그에서 데이터 볼륨 생성 및 데이터 로드 과정이 필요합니다. Pipeline 수정 클라이언... blog.naver.com Pipeline 수정 클라이언트에서 pipeline.py 파일을 수정합니다. cd $HOME/kubeflow/pipeline sudo vim pipeline.py . . . from kfp.components import OutputPath # step 4 def data_preprocessing(mlpipeline_ui_metadata_path: OutputPath('Markdown')): import warnings warnings.filterwarnings('ignore') import subprocess subprocess.run(['pip', 'install', 'panda

멀티 노드 클러스터 : MLflow 모델 저장 - 모델 생성 및 업로드 [내부링크]

사전 준비 이전 블로그에서 데이터 볼륨 생성 및 데이터 로드 과정과 모델 학습을 위한 전처리 과정이 필요합니다. 멀티 노드 클러스터 : PV/PVC & Pipeline 연동(POD 미생성) - 데이터 로드, 데이터 확인 데이터 구조 클러스터에 PV/PVC 생성에 사용되는 데이터(캐글 타이타닉 데이터)를 준비하고, 클라이언... blog.naver.com 멀티 노드 클러스터 : PV/PV & Pipeline 연동(POD 미생성) - Markdown 시각화 사전 준비 이전 블로그를 참고하여 EDA 단계까지 준비합니다. Pipeline 수정 클라이언트에서 pipeline.... blog.naver.com Pipeline 수정 클라이언트에서 pipeline.py 파일을 수정합니다. cd $HOME/kubeflow/pipeline sudo vim pipeline.py # 데이터 생성 from functools import partial import kfp from kfp.dsl import

[와디즈] 1초 만에 모든 장소 측정 완료! 미니 레이저 줄자 [내부링크]

구매 링크 [wa배송] 1초 만에 모든 장소 측정 완료! I 미니 레이저 줄자 펀딩에서 시작된 새로운 쇼핑, 와디즈 스토어에서 서포터에게 인정받은 상품을 지금 바로 구매해보세요! www.wadiz.kr 사용 후기 무겁지 않아요~ 사용하기 편해요~ 한글 설명서가 있어서 좋아요~ 면적, 부피 등 계산 모드가 다양해요~

멀티 노드 클러스터 : Seldon Core 설치 [내부링크]

사전 준비 머신러닝 모델 배포 및 관리에 필요한 Seldon Core 프레임워크는 K3s로 구축된 Kubeflow 클러스터에서 설치합니다. 멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) 사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. S/W 버전 클러... blog.naver.com Seldon Core 설치 클라이언트에서 Helm Repository를 추가하고 업데이트합니다. helm repo add datawire https://www.getambassador.io "datawire" has been added to your repositories helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "mlops-for-all" chart reposi

멀티 노드 클러스터 : Seldon Depoyment 예제(Swaager 사용) - IRIS 데이터, Scikit Learn 모델 [내부링크]

사전 준비 REST 테스트를 위해 Seldon Core 프레임워크가 필요합니다. 멀티 노드 클러스터 : Seldon Core 설치 사전 준비 머신러닝 모델 배포 및 관리에 필요한 Seldon Core 프레임워크는 K3s로 구축된 Kubeflow 클... blog.naver.com 네임스페이스 설정 클라이언트에서 진행합니다. kubectl create namespace seldon-deploy namespace/seldon-deploy created kubectl config set-context --current --namespace=seldon-deploy Context "default" modified. 스펙 정의 클라인어트에서 iris-sdep.yaml 파일을 생성하고, 배포합니다. cd $HOME sudo mkdir seldon-depoyment cd seldon-depoyment sudo vim iris-sdep.yaml apiVersion: machinelearning.s

멀티 노드 클러스터 : Grafana 설치 [내부링크]

사전 준비 모니터링에 사용되는 그라파나(Grafana)는 Seldon Core 프레임워크 설치 후에 진행합니다. 멀티 노드 클러스터 : Seldon Core 설치 사전 준비 머신러닝 모델 배포 및 관리에 필요한 Seldon Core 프레임워크는 K3s로 구축된 Kubeflow 클... blog.naver.com Grafana 설치 클라이언트에서 Helm Repository를 추가하고 업데이트합니다. helm repo add seldonio https://storage.googleapis.com/seldon-charts "seldonio" has been added to your repositories helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "mlops-for-all" chart repository ...

멀티 노드 클러스터 : 자동 로깅 [내부링크]

사전 준비 학습 모델의 성능을 확인하기 위해, 이전 블로그에서 MLflow 생성 및 업로드 부분을 수정합니다. 멀티 노드 클러스터 : MLflow 모델 저장 - 모델 생성 및 업로드 사전 준비 이전 블로그에서 데이터 볼륨 생성 및 데이터 로드 과정과 모델 학습을 위한 전처리 과정이 필요... blog.naver.com MLflow Pipeline 수정 클라이언트에서 pipeline.py 파일을 수정합니다. cd $HOME/kubeflow/pipeline sudo vim pipeline.py # 패키지 설정 from functools import partial import kfp from kfp.dsl import pipeline from kfp import dsl from kfp import onprem from kfp.components import InputPath, OutputPath, create_component_from_func import os os.environ['ML

멀티 노드 클러스터 : Kubeflow 1.5.0 설치(K3s 사용) [내부링크]

사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com S/W 버전 클러스터와 클라이언트에서 설치된 모든 S/W는 Ubuntu 18.04.6 LTS 버전에 최적화되어있습니다. 클러스터 클라이언트 S/W Version S/W Version K3s 1.21.7 Kubectl 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.5.0 공통 Kubeadm 삭제 sudo apt remove kubelet kubeadm kubectl . . . Removing kubeadm (1.21.7-00) ... Removing kubectl (1.21.7-00) ... Removing kubelet (1.21.7-00) ... 클러스터와 클라이언트 간의 통신

멀티 노드 클러스터 : Kubeflow 1.5.0 설치(Kubeadm 사용) [내부링크]

사전 준비 도커가 설치되어 있지 않다면 관련 S/W 설치를 먼저 진행해 주시기 바랍니다. 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com S/W 버전 클러스터와 클라이언트에서 설치된 모든 S/W는 Ubuntu 18.04.6 LTS 버전에 최적화되어있습니다. 클러스터 클라이언트 S/W Version S/W Version Kubeadm 1.21.7 Kubeadm 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.5.0 공통 클러스터와 클라이언트 간의 통신 소통 sudo apt-get update sudo apt-get install -y socat Swap 가상메모리 종료 sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo swapoff -a 방화벽 해제 sudo ufw d

ERR_SSL_PROTOCOL_ERROR 해결 [내부링크]

오류 내용 클러스터에서 대시보드 접속 시 다음과 같은 오류가 발생합니다. kubectl port-forward --address 0.0.0.0 svc/istio-ingressgateway -n istio-system 8080:80 Forwarding from 0.0.0.0:8080 -> 8080 Handling connection for 8080 오류 해결 ① 클라이언트에서 HTTP 설정을 확인합니다. sudo kubectl edit -n kubeflow gateways.networking.istio.io kubeflow-gateway # Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant f

데이터 유형 변환 : TXT to XML - Roboflow 사용 [내부링크]

Yolo 데이터(*.txt) Yolo 데이터는 TXT 파일로 되어있습니다. cat 000000.txt Pedestrian 0.00 0 -0.20 712.40 143.00 810.73 307.92 1.89 0.48 1.20 1.84 1.47 8.41 0.01 Roboflow 사용 : Pascal VOC 데이터(*.xml) 변환 Roboflow 사이트에서 Yolo 데이터를 Pascal 데이터로 변환하겠습니다. 로그인을 진행합니다. 프로젝트를 생성합니다. 파일(이미지, 어노테이션)을 업로드합니다. [Invalid Annotations] 옵션을 선택합니다. [All Images] & [Annotated] 메뉴에서 업로드한 이미지와 어노테이션 개수는 동일해야 합니다. 왼쪽 [Generate] 메뉴를 선택하여 프로젝트를 마무리합니다. 완성된 파일을 내보내기 위해 [Export] 옵션을 선택합니다. 데이터 포맷은 XML : Pascal VOC 형식을 선택합니다. 모든 파일(이미지, 어노테이션)을

K3s Permission Denied 해결 [내부링크]

오류 내용 클러스터에서 kubectl 명령어를 사용하면 다음과 같은 오류가 나타납니다. kubectl get pods -A WARN[2022-05-10T16:29:26.589086965+09:00] Unable to read /etc/rancher/k3s/k3s.yaml, please start server with --write-kubeconfig-mode to modify kube config permissions error: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied 오류 해결 클러스터에서 $HOME/.kube/config 권한을 변경합니다. sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config && chown $USER ~/.kube/config && chmod 600 ~/.kube/config &&

멀티 노드 클러스터 : PV/PVC & Pipeline 연동(POD 미생성) - 데이터 로드, 데이터 확인 [내부링크]

데이터 구조 클러스터에 PV/PVC 생성에 사용되는 데이터(캐글 타이타닉 데이터)를 준비하고, 클라이언트에 PV, PVC, Pipeline에 필요한 파일을 준비합니다. 클러스터 클라이언트 mnt data train.csv test.csv home kubeflow pipeline pipeline.py pv pv-claim.yaml pv-volume.yaml Namespace 확인 클라이언트에서 Namespace 목록을 확인합니다. kubectl get ns NAME STATUS AGE kube-system Active 21h default Active 21h kube-public Active 21h kube-node-lease Active 21h local-path-storage Active 21h auth Active 21h cert-manager Active 21h istio-system Active 21h knative-eventing Active 21h kna

멀티 노드 클러스터 : PV/PVC & Pipeline 연동(POD 미생성) - Plotly 시각화 [내부링크]

사전 준비 이전 블로그에서 데이터 볼륨 생성 및 데이터 로드 과정이 필요합니다. 멀티 노드 클러스터 : PV/PVC & Pipeline 연동(POD 미생성) - 데이터 로드, 데이터 확인 데이터 구조 클러스터에 PV/PVC 생성에 사용되는 데이터(캐글 타이타닉 데이터)를 준비하고, 클라이언... blog.naver.com Pipeline 수정 클라이언트에서 pipeline.py 파일을 수정합니다. cd $HOME/kubeflow/pipeline sudo vim pipeline.py . . . from kfp.components import OutputPath # step 3 def eda(mlpipeline_ui_metadata: OutputPath('UI_Metadata')): import warnings warnings.filterwarnings('ignore') import subprocess subprocess.run(['pip', 'install', 'pandas', 'pl

멀티 노드 클러스터 : MLflow 설치 [내부링크]

사전 준비 아래 링크를 통해 Kubeflow 설치가 필요합니다. 멀티 노드 클러스터 : Kubeflow 설치 사전 준비 1. 이전 블로그를 참고하여 클러스터를 구성합니다. 2. 각 클러스터에 설치된 S/W 목록은 다음... blog.naver.com MLflow 설치 클라이언트에서 PostgreSQL DB를 설치합니다. kubectl create ns mlflow-system namespace/mlflow-system created kubectl -n mlflow-system apply -f https://raw.githubusercontent.com/mlops-for-all/helm-charts/b94b5fe4133f769c04b25068b98ccfa7a505aa60/mlflow/manifests/postgres.yaml service/postgresql-mlflow-service created deployment.apps/postgresql-mlflow created persis

멀티 노드 클러스터 : 퍼시스턴트볼륨 생성 - PV, PVC, POD [내부링크]

사전 준비 1. 마운트 폴더 경로 설정 및 예제 파일 준비 sudo mkdir /mnt/data sudo sh -c "echo 'Persistent Volume' > /mnt/data/index.html" cat /mnt/data/index.html cat /mnt/data/index.html PV 생성 및 확인 1. PV 생성 cd /home/$USER mkdir pv-setting sudo vim pv-volume.yaml apiVersion: v1 kind: PersistentVolume metadata: name: task-pv-volume labels: type: local spec: storageClassName: manual capacity: storage: 1Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data" kubectl apply -f pv-volume.yaml persistentvolume/task-pv-vo

멀티 노드 클러스터 : 퍼시스턴트볼륨 삭제 - PV, PVC, POD [내부링크]

사전 준비 1. 이전 블로그를 참고하여 진행합니다. 멀티 노드 클러스터 : 퍼시스턴트볼륨(PV) 생성 예제 사전 준비 1. 마운트 폴더 경로 설정 및 예제 파일 준비 PV 생성 및 확인 1. PV 생성 2. PV 정보 조... blog.naver.com 삭제 1. 파드 삭제 kubectl delete pod task-pv-pod pod "task-pv-pod" deleted 2. 퍼시스턴트클래임 삭제 kubectl delete pvc task-pv-claim persistentvolumeclaim "task-pv-claim" deleted 3. 퍼시스턴트볼륨 삭제 kubectl delete pv task-pv-volume persistentvolume "task-pv-volume" deleted

멀티 노드 클러스터 : PV/PVC & Pipeline 연동(POD 생성) - 데이터 로드 [내부링크]

사전 준비 이전 블로그를 참고하여 파드 생성 파일을 수정합니다. 멀티 노드 클러스터 : 퍼시스턴트볼륨(PV) 생성 예제 사전 준비 1. 마운트 폴더 경로 설정 및 예제 파일 준비 PV 생성 및 확인 1. PV 생성 2. PV 정보 조... blog.naver.com cd /home/$USER/pv-setting sudo vim pv-pod.yaml apiVersion: v1 kind: Pod metadata: name: task-pv-pod spec: volumes: - name: task-pv-storage persistentVolumeClaim: claimName: task-pv-claim containers: - name: task-pv-container image: nginx ports: - containerPort: 80 volumeMounts: - mountPath: /tmp name: task-pv-storage ※ volumeMounts 옵션의 mountPath 경로

[오류 해결] Unkown runtime specified nvidia [내부링크]

오류 내용 [docker-compose.yml] 파일로 Container 내부에서 GPU 드라이버를 사용할 때 다음과 같은 오류가 나타날 수 있습니다. docker-compose up -d Creating network "oem_default" with the default driver Creating object-detection ... error ERROR: for object-detection Cannot create container for service object-detection: Unknown runtime specified nvidia ERROR: for object-detection Cannot create container for service object-detection: Unknown runtime specified nvidia ERROR: Encountered errors while bringing up the project. 오류 해결 [daemon.js

멀티 노드 클러스터 : GPU 설정 [내부링크]

사전 준비 서버에 NVIDIA 드라이버가 설치되어 있다면 다음 단계로 이동합니다. nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 510.60.02 Driver Version: 510.60.02 CUDA Version: 11.6 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+=========

멀티 노드 클러스터 : 실행 중인 POD 삭제 [내부링크]

#MLOps #Kubeflow #Pod삭제 Pod 확인 먼저 Kubeflow에서 실행 중인 Pod 목록을 확인하겠습니다. kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE auth dex-bf455d668-gpxww 1/1 Running 0 32m cert-manager cert-manager-7dd5854bb4-vrdm9 1/1 Running 0 84m cert-manager cert-manager-cainjector-64c949654c-ln5ws 1/1 Running 0 84m cert-manager cert-manager-webhook-6b57b9b886-6clkh 1/1 Running 0 84m dgkim ml-pipeline-ui-artifact-5dd95d555b-vb287 2/2 Running 0 45m dgkim ml-pipeline-visualizationserver-6b44c6759f-lfw6r 2/2 Ru

[오류 해결] Open CV Import Error [내부링크]

오류 내용 import cv2 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 오류 해결 sudo apt-get install -y libgl1-mesa-glx Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libllvm10 libsensors4 libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0

[와디즈] 양피같은 합피장갑! 테크스킨 스키니 골프장갑 구매 후기 [내부링크]

구매 링크 양피같은 합피장갑! 테크스킨 스키니 골프장갑! 양피와 흡사한 스티키 스트레치원단으로 제작된 스키니 골프장갑! 손에 맞춘듯한 밀착력과 그립감에 양피와 같은 뛰어난 내구성! 양피와 합피의 장점만 모았습니다! +왼손잡이용 장갑까지! www.wadiz.kr 착용 사진 손에 착 감겨요~ 착용 감이 좋아요~ 통풍 굿~

멀티 노드 클러스터 : Kubeflow 사용자 추가 [내부링크]

사용자 확인 kubectl -n auth get cm dex -o yaml apiVersion: v1 data: config.yaml: | issuer: http://dex.auth.svc.cluster.local:5556/dex storage: type: kubernetes config: inCluster: true web: http: 0.0.0.0:5556 logger: level: "debug" format: text oauth2: skipApprovalScreen: true enablePasswordDB: true staticPasswords: - email: [email protected] hash: $2y$12$4K/VkmDd1q1Orb3xAt82zu8gk7Ad6ReFR4LCP9UeYE90NLiN9Df72 # https://github.com/dexidp/dex/pull/1601/commits # FIXME: Use hashFromEnv instead username: us

멀티 노드 클러스터 : Kubeflow 사용자 관리 - Namespace 설정 [내부링크]

프로파일 생성 sudo vim profile.yaml apiVersion: kubeflow.org/v1beta1 kind: Profile metadata: name: dgkim1108 spec: owner: kind: User name: [email protected] resourceQuotaSpec: hard: cpu: "1" memory: 1Gi requests.nvidia.com/gpu: "1" persistentvolumeclaims: "1" requests.storage: "5Gi" 프로파일 적용 및 실행 kubectl create -f profile.yaml profile.kubeflow.org/dgkim1108 created kubectl apply -f profile.yaml Warning: resource profiles/dgkim1108 is missing the kubectl.kubernetes.io/last-applied-configuration annotat

멀티 노드 클러스터 : Kubeflow Pipeline 단일 데이터 사용 예제 - 데이터 로드, 전처리, 모델 학습 및 평가 [내부링크]

폴더 구조 home $USER kubeflow-example-pipeline single-data-load 3-stage data-load Dockerfile iris.csv requirements.txt run.py modeling Dockerfile requirements.txt run.py pipeline.py pipeline.yaml preprocessing Dockerfile requirements.txt run.py 첨부파일 single-data-load-3-stage.zip 파일 다운로드 Docker 이미지 생성 및 Docker Hub 업로드 1. 데이터 로드 cd /home/$USER/kubeflow-example-pipeline/single-data-load/3-stage/data-load # docker build -t name[:tag] docker build -t dgkim1983/mlops:kubeflow-pipe

AHP Software 개발 : Python 활용 [내부링크]

1단계 : 쌍대비교 행렬 입력(4×4) import numpy as np import pandas as pd n = 4 a = np.array([[1, 0.2, 7, 5], [5, 1, 9, 7], [0.1429, 0.1111, 1, 0.5], [0.2, 0.1429, 2, 1]]) b = a.copy() names = ['변수1', '변수2', '변수3', '변수4'] df = pd.DataFrame(a, columns = names, index = names) np.array(df) array([[1. , 0.2 , 7. , 5. ], [5. , 1. , 9. , 7. ], [0.1429, 0.1111, 1. , 0.5 ], [0.2 , 0.1429, 2. , 1. ]]) 2단계 : 쌍대비교 행렬의 곱 계산 c = np.dot(a, b) c array([[ 4.0003 , 1.8922 , 25.8 , 14.9 ], [12.6861 , 4.0002 , 67. , 43.5 ], [

멀티 노드 클러스터 : Kubeflow Pipeline 다중 데이터 사용 예제 - 데이터 로드 [내부링크]

폴더 구조 home $USER kubeflow-example-pipeline multiple-data-load 1-stage data-load data test1.txt test2.txt Dockerfile requirements.txt run.py pipeline.py pipeline.yaml 첨부파일 multiple-data-load-1-stage.zip 파일 다운로드 Docker 이미지 생성 및 Docker Hub 업로드 1. 데이터 로드 cd /home/$USER/kubeflow-example-pipeline/multiple-data-load/1-stage/data-load # docker build -t name[:tag] docker build -t dgkim1983/mlops:kubeflow-pipeline-multiple-data-load-1-stage-latest 생략 Successfully tagged dgkim1983/mlop

자연어처리 : 도커 환경 구축 [내부링크]

사전 준비 1. 도커 관련 S/W 설치 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 폴더 구조 home $USER nlp docker-compose.yml Dockerfile requirements.txt 1. docker-compose.yml version: '3.8' services: nlp: restart: always container_name: nlp image: dgkim1983/deep-learning:nlp-latest ports: - 8888:8888 - 6006:6006 runtime: nvidia environment: - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=all volumes: - ${PWD}:/workspace working_dir: /worksp

자연어처리 : Crawling & Word Cloud [내부링크]

사전 준비 1. 이전 블로그를 참고하여 자연어처리 관련 도커 환경을 설치합니다. 자연어처리 : 도커 환경 구축 사전 준비 1. 도커 관련 S/W 설치 폴더 구조 1. docker-compose.yml 2. Dockerfile 3. requirements.txt... blog.naver.com Crawling & Word Cloud 코드 첨부파일 run.ipynb 파일 다운로드 1. 패키지 import warnings def ignore_warn(*args, **kwargs): pass import pandas as pd import numpy as np from tqdm import tqdm import re from bs4 import BeautifulSoup import requests from konlpy.tag import Twitter from collections import Counter from wordcloud import WordCloud from matplotli

멀티 노드 클러스터 : Kubeflow 삭제 및 Kubeadm 초기화 [내부링크]

공통 진행 1. 도커 삭제 docker rm $(docker ps -aq) docker volume rm $(docker volumes ls -q) sudo umount /var/lib/docker/volumes sudo rm -rf /var/lib/docker/ sudo systemctl restart docker 2. Kubeadm 삭제 sudo kubeadm reset cleanup-node [reset] WARNING: Changes made to this host by 'kubeadm init' or 'kubeadm join' will be reverted. [reset] Are you sure you want to proceed? [y/N]: y [preflight] Running pre-flight checks W0420 17:29:16.372088 3841549 removeetcdmember.go:79] [reset] No kubeadm config, using etc

CSRF 오류 해결 [내부링크]

오류 내용 대시보드에서 볼륨을 생성합니다. 오류 해결 클라이언트에서 볼륨 설정을 변경합니다. cd /home/$USER/manifests sudo vim apps/volumes-web-app/upstream/base/deployment.yaml # Before env: - name: APP_PREFIX value: $(VWA_PREFIX) - name: USERID_HEADER value: $(VWA_USERID_HEADER) - name: USERID_PREFIX value: $(VWA_USERID_PREFIX) serviceAccountName: service-account # After env: - name: APP_PREFIX value: $(VWA_PREFIX) - name: USERID_HEADER value: $(VWA_USERID_HEADER) - name: USERID_PREFIX value: $(VWA_USERID_PREFIX) - name: APP_SECURE_C

단일 서버 : Source Connectors(MariaDB 연동) [내부링크]

REST API 제출 Docker 컨테이너 접속이 필요하지 않고, 로컬에서 진행 가능합니다. curl -X 'POST' \ 'http://localhost:8083/connectors/' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "name": "my-first-connect-001", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url": "jdbc:mysql://mariadb:3306/testdb", "connection.user": "root", "connection.password": "passwd", "consumer.override.auto.offset.reset": "latest", "mode": "incrementing", "incrementing.colu

단일 서버 : Sink Connectors(txt 생성) [내부링크]

REST API 제출 Docker 컨테이너 접속이 필요하지 않고, 로컬에서 진행 가능합니다. curl -X 'POST' \ 'http://localhost:8083/connectors/' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "name": "my-first-connect-001-file", "config": { "connector.class": "org.apache.kafka.connect.file.FileStreamSinkConnector", "file": "/data/maraidb/sample.txt", "topics": "my_connect_test" } }' { "name": "my-first-connect-001-file", "config": { "connector.class": "org.apache.kafka.connect.file.FileStreamSinkConnecto

싱글 노드 클러스터 : DSL Compiler 설치 [내부링크]

패키지 설치 & 업그레이드 1. 파이썬 패키지를 설치합니다. sudo apt install -y python3-pip Reading package lists... Done Building dependency tree Reading state information... Done python3-pip is already the newest version (9.0.1-2.3~ubuntu1.18.04.5). The following packages were automatically installed and are no longer required: 생략 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded 2. 파이썬 패키지를 업데이트합니다. pip3 install --upgrade pip Defaulting to user installation becaus

멀티 노드 클러스터 : Kubeflow 1.4.0 설치(Kubeadm 사용) [내부링크]

사전 준비 1. 이전 블로그를 참고하여 클러스터를 구성합니다. 멀티 노드 클러스터 : S/W 설치 요약 1. 두 대의 가상 서버를 기준으로 설치 과정을 설명합니다. 2. 쿠버네티스 설치 및 클러스터 구축은 ... blog.naver.com 2. 각 클러스터에 설치된 S/W 목록은 다음과 같습니다. Control Plane Worker S/W Version S/W Version Kubeadm 1.21.7 Kubeadm 1.21.7 Helm 3.7.1 Kustomize 3.2.0 Kubeflow 1.4.0 Control Plane 사용 1. 클러스터 노드 확인 kubectl get nodes NAME STATUS ROLES AGE VERSION control-plane Ready <none> 42m v1.21.7 worker1 Ready control-plane,master 44m v1.21.7 Worker 사용 1. Helm 설치 sudo wget https://get.helm.sh/

멀티 노드 클러스터 : Kubeflow Pipeline 간단한 계산식 예제 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 Kubeflow Pipeline 과정을 테스트합니다. 멀티 노드 클러스터 : Kubeflow 설치 사전 준비 1. 이전 블로그를 참고하여 클러스터를 구성합니다. 2. 각 클러스터에 설치된 S/W 목록은 다음... blog.naver.com Worker 1. Central Dashboard 실행 kubectl port-forward --address 0.0.0.0 svc/istio-ingressgateway -n istio-system 8080:80 & Forwarding from 0.0.0.0:8080 -> 8080 간단한 계산식 파일 생성 1. 예제 파일 위치 및 폴더 구조 home $USER kubeflow-example-pipeline example1_pipeline.yaml example1.py 2. Control Plane 노드에서 [example1.py] 파일 생성 및 다운로드 sudo mkdir kubeflow-pipelin

멀티 노드 클러스터 : Kubeflow Pipeline 단일 데이터 사용 예제 - 데이터 로드, 모델 학습 및 평가 [내부링크]

폴더 구조 home $USER kubeflow-example-pipeline single-data-load 2-stage data-load Dockerfile iris.csv requirements.txt run.py modeling Dockerfile requirements.txt run.py pipeline.py pipeline.yaml 첨부파일 single-data-load-2-stage.zip 파일 다운로드 Docker 이미지 생성 및 Docker Hub 업로드 1. 데이터 로드 cd /home/$USER/kubeflow-example-pipeline/single-data-load/2-stage/data-load # docker build -t name[:tag] docker build -t dgkim1983/mlops:kubeflow-pipeline-single-data-load-2-stage-latest 생략 Successfully

단일 서버 : 도커 환경 구축 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 도커 관련 S/W를 설치합니다. 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커 환경 설정 1. 폴더 구조 home $USER spark cluster single conf master spark-defaults.conf worker spark-defaults.conf docker-compose.yml Dockerfile example print.py 첨부파일 spark-cluster-single.zip 파일 다운로드 2. 도커 이미지 생성 docker vim Dockerfile FROM ubuntu:18.04 ENV PYTHONHASHSEED 1 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update \ && apt install

단일 서버 : REST API 예제 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 REST API를 진행합니다. 단일 서버 : 도커 환경 구축 사전 준비 1. 이전 블로그를 참고하여 도커 관련 S/W를 설치합니다. 도커 환경 설정 1. 폴더 구조 2. 도... blog.naver.com REST API 테스트 1. 스파크 클러스터 IP 설정 export spark_single_ip=<LOCALHOST> <LOCALHOST>는 구축 서버의 IP로 변경 2. 도커 컨테이너 접속이 필요 없으며, 로컬에서 바로 테스트 가능 curl -X POST http://${spark_single_ip}:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ "action" : "CreateSubmissionRequest", "appArgs" : [ "/example/print.py" ], "appResource" : "/example/

멀티 노드 클러스터 : K8S Dashboard 설치 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 워커(worker) 서버에서 설치를 진행합니다. 멀티 노드 클러스터 설치 : Kubeadm 사용 요약 1. 두 대의 가상 서버를 기준으로 설치 과정을 설명합니다. 2. 쿠버네티스 및 클러스터 구축은 XShe... blog.naver.com 노드(node1) 진행 1. K8S Dashboard 설치 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml # 위 명령어를 사용하면 다음과 같이 출력됩니다. namespace/kubernetes-dashboard created serviceaccount/kubernetes-dashboard created service/kubernetes-dashboard created secret/kubernetes-dashboard-certs created secret/kuberne

멀티 노드 클러스터 : Metrics Server 설치 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 워커(worker) 서버에서 설치를 진행합니다. 멀티 노드 클러스터 설치 : Kubeadm 사용 요약 1. 두 대의 가상 서버를 기준으로 설치 과정을 설명합니다. 2. 쿠버네티스 및 클러스터 구축은 XShe... blog.naver.com 멀티 노드 클러스터 : K8S Dashboard 사전 준비 1. 이전 블로그를 참고하여 워커(worker) 서버에서 설치를 진행합니다. 노드(node1) 1. K8S D... blog.naver.com 노드(node1) 진행 1. 리소스 모니터링 설치 : 오류 해결 포함 kubectl top nodes # 설치 중 다음과 같은 오류가 나타났습니다. W0322 22:07:25.632979 30024 top_node.go:119] Using json format to get metrics. Next release will switch to protocol-buffers, switch early by passing

멀티 노드 클러스터 : Resource 예제 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 설치를 진행합니다. 멀티 노드 클러스터 설치 : Kubeadm 사용 요약 1. 두 대의 가상 서버를 기준으로 설치 과정을 설명합니다. 2. 쿠버네티스 및 클러스터 구축은 XShe... blog.naver.com 멀티 노드 클러스터 : K8S Dashboard 사전 준비 1. 이전 블로그를 참고하여 워커(worker) 서버에서 설치를 진행합니다. 노드(node1) 1. K8S D... blog.naver.com 멀티 노드 클러스터 : Metrics Server 사전 준비 1. 이전 블로그를 참고하여 워커(worker) 서버에서 설치를 진행합니다. 노드(node1) 진행 1. 리... blog.naver.com 노드(node1) 진행 1. 리소스 예제 파일(*.yaml) 생성 sudo vim example.yaml # vim 편집기를 실행하고 다음 소스를 입력합니다. apiVersion: v1 kind: Pod metadata: name: reso

전이 학습 : 도커 환경 구축 [내부링크]

사전 준비 1. 이전 블로그를 참고하여 S/W를 설치합니다. 도커 & 도커 컴포즈 & 엔비디아 도커 설치 우분투에서 도커 설치하기 1. 먼저 오래된 버전을 삭제합니다. 2. 저장소를 업데이트합니다. 3. 최신 버전... blog.naver.com 도커 파일 1. 도커 파일 생성 sudo vim Dockerfile FROM tensorflow/tensorflow:2.6.0-gpu-jupyter ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y python3 python3-pip \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN pip3 install -U pip RUN pip install matplotlib numpy jupyterlab 도커 컴포즈 1. 도커 컴포즈 생성 sudo vim docker-compose.yml version: '3.8

전이 학습 : EfficientNet 사용 [내부링크]

사전 준비 1. 이전 블로그에서 구축된 환경으로 모델 학습 및 추론을 진행합니다. 사전 훈련 모델 도커 환경 구축 사전 준비 1. 이전 블로그를 참고하여 S/W를 설치합니다. 도커 파일 1. 도커 파일 생성 도커 컴포즈 1. ... blog.naver.com 학습 동영상 데이터 구조 workspace cats_and_dogs_filtered train cats dogs validation cats dogs 코딩 1. 패키지 설정 import matplotlib.pyplot as plt %matplotlib inline import numpy as np import os import tensorflow as tf from tensorflow.keras.applications import * from tensorflow.keras.preprocessing import image_dataset_from_directory print(tf.__ve

주피터 노트북 커널에 파이썬 특정 버전 추가하기 [내부링크]

도커 환경 설정 1. 폴더 구조는 다음과 같습니다. home docker-compose.yml Dockerfile 2. [Dockerfile] 파일을 생성합니다. sudo vim Dockerfile FROM tensorflow/tensorflow:latest-gpu ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y curl \ && pip install notebook EXPOSE 8888 3. Docker 이미지를 빌드합니다. docker build -t jupyter-kernel-test . 생략 Step 4/4 : EXPOSE 8888 ---> Running in ccfba1dd2b8c Removing intermediate container ccfba1dd2b8c ---> f18fb47685ed Successfully built f18fb47685ed Successfully tagg

단일 서버 : 도커 환경 구축 [내부링크]

도커 환경 설정 1. 폴더 구조는 다음과 같습니다. kafka cluster docker-compose.yml jars mariadb-java-client-2.7.2.jar 2. [mariadb-java-client-2.7.2jar] 파일을 [kafka] - [cluster] - [jars] 폴더에 다운로드합니다. 첨부파일 mariadb-java-client-2.7.2.jar 파일 다운로드 3. [docker-compose.yml] 파일을 생성합니다. sudo vim docker-compose.yml version: '3.8' services: 생략 kafka-connect-ui: restart: always hostname: kafka-connect-ui container_name: kafka-connect-ui image: landoop/kafka-connect-ui:0.9.7 ports: - "8003:8000" environment: CONNECT_URL: "http:

단일 서버 : MariaDB 접속 [내부링크]

DB 생성 1. MariaDB와 관련된 Docker 컨테이너에 접속합니다. docker exec -it mariadb bash root@mariadb:/# 2. root 계정의 비밀번호를 확인하고 로그인합니다. 단일 서버 : 도커 환경 구축 도커 환경 설정 1. 폴더 구조는 다음과 같습니다. 2. [mariadb-java-client-2.7.2jar] 파일을 [kafka] - [c... blog.naver.com # docker-compose.yml version: '3.8' services: mariadb: restart: always hostname: mariadb container_name: mariadb image: mariadb:latest ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: passwd MYSQL_DATABASE: testdb 생략 mysql -p Enter password: passwd Welcome to t