전체 글 13

1. 스터디를 시작하며.. study for MLOps

MLOpsMLOps : 모델을 효율적으로 개발, 배포, 운영하는 일련의 절차 및 도구.소프트웨어 개발에서 DevOps(Development Operations)와 비슷한 개념으로, MLOps는 ML 모델이 실시간 환경에서 안정적으로 작동하고, 지속적으로 개선되도록 하는 것 처음 MLOps를 접하게 된 배경은 빅데이터 분석 교육과정을 들으며 기업 연계 프로젝트를 진행하게 되면서이다.프로젝트 당시 LSTM을 활용하여 장비에 들어가는 부품의 잔여수명을 예측하는 프로젝트를 수행했는데 반도체 기업 특성 상 실시간으로 수집되는 방대한 양의 센서 데이터를 다루고 모델을 구축하다 보니 여러가지 문제점을 발견했다. 1. 사용자가 요청을 할 때마다 특정 기간 동안 수집된 raw데이터를 실시간으로 전처리하여 원하는 데이터 ..

스터디 2024.09.09

학습한 모델 저장 및 불러오기

기업 프로젝트 할 당시 성능 잘나온 모델을 수시로 저장하지 않고 매번 모델을 돌려서 성능을 보여줬던 기억이 난다.기본적인 학습한 모델 저장 및 불러오는 방법에 대해서 간략하게 알아보자import tensorflow as tf import numpy as np(trainX, trainY), (testX, testY) = tf.keras.datasets.fashion_mnist.load_data()trainX = trainX / 255.0testX = testX / 255.0trainX = trainX.reshape( (trainX.shape[0], 28,28,1) )testX = testX.reshape( (testX.shape[0], 28,28,1) )model = tf.keras.Sequential([..

딥러닝 기초 2024.07.31

2-1. 기업 프로젝트 2주차 (데이터 전처리)

꾸준히 업로드를 하려했지만 5개 기업 이력서 작성한다고 업로드를 많이 미뤘다..(핑계)지난번 데이터 설명에 이어 제공 받은 데이터를 전처리 하기 위한 파이썬 코드를 설명해보려고 한다. 1) 데이터 Load데이터 경로에 따라 Colab환경에서 FDC와 Alarm 데이터 불러오기file_path1 = '/content/drive/MyDrive/ASAC_4기_기업프로젝트_SK하이닉스/00.Data_set/ASAC_4기_Dataset_Alarm_22년PoC.csv'file_path2 = '/content/drive/MyDrive/ASAC_4기_기업프로젝트_SK하이닉스/00.Data_set/ASAC_4기_Dataset_FDC_Summary_Fullset_22년PoC.csv'2) Datetime 변환FDC 수치형 ..

개 고양이 구분 AI모델 만들기-2. Preprocess & modeling 전처리 및 모델링

지난 포스트에서 json파일을 통해 kaggle에서부터 load된 데이터는 zip 형태로 존재할 것이다.직접 데이터를 handling 하기 위해서는 zip을 풀어야 한다.!unzip -q dogs-vs-cats-redux-kernels-edition.zip -d .해당 코드를 통해 zip파일을 풀어보자zip 파일을 풀고나면 train dataset과 test dataset이 zip 파일로 나오는데 우선 train dataset의 데이터 만으로 train과 validation set을 만들어 모델을 학습시키고 성능을 확인해보자!unzip -q train.zip -d .print(len(os.listdir('/content/train/')))# -> 25000train dataset만 위와 같이 압출을 풀면..

딥러닝 기초 2024.07.10

개 고양이 구분 AI모델 만들기-1. Dataset load(kaggle)

kaggle competition dataset으로 이미지 분류 모델 실습을 진행해보려고 한다.1) Dataset LoadGoogle Colab환경에서 kaggle dataset load를 하기 위해서는 몇가지 환경설정이 필요하다.https://www.kaggle.com/competitions/dogs-vs-cats-redux-kernels-edition/data해당 링크를 타고 들어가면해당 대회를 확인할 수 있는데 직접 data를 다운받고 colab환경에 업로드 하는 방법으로 데이터를 load 할수도 있지만코드를 통해 직접 데이터를 불러올 수 있는 환경을 구축할 수 있다.import osos.environ['KAGGLE_CONFIG_DIR'] = '/content/'!kaggle competitions..

딥러닝 기초 2024.07.07

1-2. 기업 프로젝트 1주차 (데이터 설명)

''공정 장비안에 포함된 부품중 하나인 pump가 언제 고장날지에 대한 예측을 통해 breakdown시에 발생하는 wafer loss에 대한 Cost 비용을 줄이고자 AI알고리즘 모델을 만들어 예지 정비 시기에 대한 정보를 제공하고 해당 과정을 전부 자동화시키는 것'' 지난 포스팅에서 언급한 프로젝트 주제를 수행하기 위한 데이터를 멘토님으로부터 제공받았다.제공 받은 데이터는 대외비나 여러가지 이유로 많은 컬럼이 비식별화 되어있었으며 총 두가지 데이터를 제공받았다.1) Alarm / Replacement history datacsv로 제공받은 데이터의 설명-Alarm_Time: 장비에 문제가 breakdown이 발생한 시각-EQ_ID: 문제가 발생한 장비의 고유ID-Pump_Type: 챔버 진공상태를 만들..

1-1. 기업 프로젝트 1주차 (프로젝트 설명)

1주차에는 프로젝트와 데이터에 대한 이해를 하는 시간을 가졌다.멘토님께서 선정하신 주제는"스마트팩토리 운영을 위한 Subcomponent fail prediction MLOps 개발"이였는데.. 처음 들었을때는 아는 단어가 없어서 매우 당황스러웠지만 단어하나하나가 전체적인 프로젝트 이해에 매우 중요하다.1) 스마트 팩토리많이 들어봤을것이라 생각한다.해당 그림은 자율주행에도 단계가 존재하듯 스마트팩토리에도 성숙단계가 존재하는 것을 확인할 수 있다. 현재 대부분의 기업들은 2~3단계의 모니터링 위주의 기술을 적용하고 있고,프로젝트의 주제와 관련된 레벨은 4단계라고 할 수 있을 것 같다.2~3단계와 그 윗단계에 어떤 차이점이 있는가 물어본다면 제일 큰 차이는 미래에 대한 예측을 통한 maintenance 라고..

Mnist fashion 의류데이터 분류하기-3. 컨볼루션 레이어로 성능 높이기

model = tf.keras.Sequential([ tf.keras.layers.Dense(128,input_shape = (28,28), activation = "relu"), tf.keras.layers.Dense(64, activation = "relu"), tf.keras.layers.Flatten(), tf.keras.layers.Dense(10, activation = 'softmax'),])지난 포스팅에서 구현한 모델은 28x28픽셀의 이미지를 한 줄의 576개 픽셀로 나열한 후 은닉층을 거쳐 나오는 구조의 모델이기 때문에 픽셀안 의류의 위치가 좀 바뀐다거나 뒤집어진 의류 같은경우 분류에 대한 오차가 매우 커질 수 있다는 문제점이 존재한다. 이를 해결하기 위해 conv..

딥러닝 기초 2024.07.04

Mnist fashion 의류데이터 분류하기-2.모델 학습

Mnist fashion 데이터를 불러온 이후 train데이터로 학습을 진행하고 test데이터로 예측을 진행해보자model = tf.keras.Sequential([ tf.keras.layers.Dense(128,input_shape = (28,28), activation = "relu"), tf.keras.layers.Dense(64, activation = "relu"), tf.keras.layers.Flatten(), tf.keras.layers.Dense(10, activation = 'softmax'),])model = 형식으로 모델을 정의할수 있다. Dense layers를 통해 은닉층 노드수를 설정할 수 있으며 activation function으로 relu함수를 사용했..

딥러닝 기초 2024.07.03

Mnist fashion 의류데이터 분류하기-1.데이터 로드 및 설명

tensorflow에서 제공하는 연습용 데이터인 Mnist fashion 데이터를 통해의류 카테고리 구분하는 모델 만들기 1. 데이터 로드 및 설명import tensorflow as tfimport matplotlib.pyplot as plt-mnist data load 및 모델 학습은 모두 tensorflow keras를 통해 진행할 것이기 때문에 tensorflow를 임포트-불러온 이미지 shape을 확인하기 위한 시각화 라이브러리 matplotlib 임포트 (trainX, trainY), (testX,testY) = tf.keras.datasets.fashion_mnist.load_data()mnist datasets을 불러오면 train:test = 60000:10000 비율의 튜플 형식으로 데..

딥러닝 기초 2024.07.03