machine learning(56)
-
pytorch lightning으로 코드 변경하기
기존 pytorch로 작성한 모델을 pytorch lightning으로 변경하는 코드를 작성했다. pytorch lightning으로 변경 후의 코드는 훨씬 깔끔하고 가독성이 있어서 좋았다. 일단 아래의 pytorch 코드가 변경 전의 코드이다. def train(config): device = "cuda" if torch.cuda.is_available() else "cpu" print(f"Using {device} device") model = NeuralNetwork(config['input_size'], config['hidden1'], config['hidden2'], len(config['labels']), config['dropout']).to(device) criterion = nn.Cro..
2023.02.19 -
kfp image policy 정의하기
2022.12.29 - [machine learning] - Kubeflow pipeline 작성 및 pvc에 저장하기 kfp로 pipeline을 작성하고 실행하다 보면 image tag가 같은 경우 새로 이미지를 pull 받지 않고 기존 컨테이너를 활용하는 것을 확인 할 수가 있다. 해당 기능이 어떤 점에서는 편할 수 있지만 동작 시 혼란을 야기할 수 있기 때문에 kfp 정의 시 image policy를 정의해 주도록 하자. def train_op(): op = dsl.ContainerOp( name='Test', image='test:test01' ) op.set_image_pull_policy("IfNotPresent") return op.apply(onprem.mount_pvc(pvc_name='..
2023.01.16 -
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 -
[골빈해커의 3분 딥러닝] 05_01_TensorBoard
텐서플로우로 만든 모델을 저장 및 로딩하고 모델 파라미터 값들을 tensorboard에 표현해 보자. data = np.loadtxt('../data/data.csv', delimiter=',', unpack=True, dtype='float32') x_data = np.transpose(data[0:2]) y_data = np.transpose(data[2:]) data.csv 파일을 읽어서 앞의 두개의 데이터는 x_data로 나머지 데이터는 y_data에 저장하자. 참고로 data.csv는 아래의 형태로 구성되어 있다. 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 x_data의 경우 transpose를 안해줄 경우 2x3 형태의 데이터 [[1 1 0] [0 1 0]] 로 저장이 되기 때문에 ..
2019.06.07 -
[골빈해커의 3분 딥러닝] 04_03_Word2Vec
Word2Vec 모델을 deep learning을 이용해서 구현해 보자. import tensorflow as tf import matplotlib import matplotlib.pyplot as plt import numpy as np tensorflow와 matplotlib, numpy를 각각 import 한다. (각각 version : 1.13.0, 3.0.3, 1.16.3) matplotlib는 단어 -> 벡터로 변환 후 2차원 그래프 상에서 표시해주기 위한 용도로 사용된다. from matplotlib import font_manager, rc font_name = font_manager.FontProperties(fname="/usr/share/fonts/truetype/dejavu/guli..
2019.06.06