AI

    [Tensorflow/keras] Tensorflow용 DataLoader 만들기

    딥러닝 모델을 훈련시키기 위해서는 종종 대규모 데이터셋이 필요합니다. 그러나 모든 데이터를 메모리에 로드하고 유지하는 것은 실용적이지 않을 수 있습니다. 이런 경우에는 데이터를 실시간으로 생성하여 모델에 제공할 수 있는 데이터 생성기를 사용하는 것이 좋습니다.PyTorch의 DataLoader는 데이터셋을 미니 배치로 나누어 모델에 공급하는 역할을 합니다. 이는 데이터를 반복하고 전처리하는 작업을 추상화하여 사용자가 모델 학습에 집중할 수 있도록 합니다.Keras에서 데이터 생성기를 사용하는 방법은 메모리에 맞지 않는 대규모 데이터셋을 효율적으로 처리하는 강력한 방법입니다. Keras는 사용자 정의 데이터 생성기를 만들기 위한 기반 클래스로 Sequence 클래스를 제공합니다.단계 1: 사용자 정의 데이..

    [PyTorch] DataLoader 멀티프로세싱하기

    PyTorch의 DataLoader는 데이터셋을 미니 배치로 나누어 모델에 공급하는 역할을 합니다. 이는 데이터를 반복하고 전처리하는 작업을 추상화하여 사용자가 모델 학습에 집중할 수 있도록 합니다.DataLoader의 주요 기능미니 배치 처리: DataLoader는 데이터셋을 지정된 배치 크기로 나누어 모델에 제공합니다. 이는 GPU와 같은 가속기를 통해 병렬 처리를 가능하게 합니다.데이터 셔플링: 학습 데이터의 순서를 무작위로 섞음으로써 모델의 일반화 성능을 향상시킵니다.병렬 처리: DataLoader는 여러 작업자(worker)를 사용하여 데이터를 병렬로 로드할 수 있습니다. 이를 통해 데이터 로딩 과정을 가속화할 수 있습니다.데이터 변환(Transform): DataLoader는 데이터를 로드하기..

    [Numpy] Serise clip() 함수 - 값 범위 제한하기

    NumPy는 파이썬에서 과학 및 수학적 계산을 위한 핵심 라이브러리 중 하나입니다. NumPy의 다양한 함수와 메서드는 데이터 조작 및 분석을 쉽게 할 수 있도록 도와줍니다. 여기에는 데이터의 값을 제한하고 특정 범위 내에 값을 유지하는 데 유용한 clip() 함수가 있습니다. 이번 글에서는 NumPy의 clip() 함수를 소개하고 활용하는 방법에 대해 알아보겠습니다. numpy.clip() 함수란? numpy.clip() 함수는 주어진 배열의 값을 지정된 최소값과 최대값 사이로 제한합니다. 이 함수를 사용하면 데이터의 범위를 제한하고 이상치를 처리하는 데 유용합니다. numpy.clip()의 구문은 다음과 같습니다. numpy.clip(a, a_min, a_max, out=None) 여기서: a: 값을..

    Google-Colab 에서 LightGBM GPU 사용하기

    Kaggle Notebook에선 lightGBM gpu 버전을 쉽게 사용할 수 있다. 하지만 Google CoLab 에선 별도로 설치가 필요하다. 아래 코드를 CoLab 노트북 셀에서 실행하여 설치한 후 사용해본다. !git clone --recursive https://github.com/Microsoft/LightGBM %cd LightGBM !mkdir build %cd build !cmake ../../LightGBM -DUSE_GPU=1 !make -j4 %cd ../python-package !python3 setup.py install --gpu

    Hyper-Parameter Optimization #0

    Hyper-Parameter Optimization #0

    1. Introduction 1) Background 데이터 사이언스 업무는 이전의 업무 영역에서 벗어나 점차 엔지니어링 영역까지 포함하고 있다. 점차 데이터 사이언스는 데이터를 다루고 분석하는 것을 넘어 모델을 학습시키고 평가 배포, 모니터링의 영역까지 확장되고 있다. 실제로 데이터 과학자들에게 엔지니어링까지 함께 하기를 원하는 회사들이 늘어나고 있다. 엔지니어링 측면의 역량까지 요구되는 이유는 두 가지 측면에서 분석할 수 있다. AI 분야의 낮아진 진입장벽과 다양한 도구 모델 복잡도와 데이터의 증가 -> 다양한 기술의 발전 `먼저 AI 분야의 낮아진 진입장벽과 다양한 도구`로 인해 다양한 개발자들이 쉽게 AI 분야에 진입이 가능하고 Keras, PyTorch 등 다양한 프레임워크의 발전과 오픈소스 지..

    [XGBoost] XGBoost 학습 시 GPU(CUDA) 사용하기

    XGBoost 모델 학습 시 매우 느린 성능을 보인다. 특히 Hyper-Parameter Optimization과 같은 기법을 병행하여 사용한다면 힘든 시간이 될 것이다. XGBoost의 대부분의 알고리즘은 CUDA 호환 GPU로 가속화될 수 있으며 이는 학습, 예측 및 평가를 포함한다. XGBoost에서 GPU를 지원한다. 지원 조건은 아래와 같다. CUDA 11.0 이상 Compute Capability 5.0 이상 GPU 활성화 방법 GPU 가속을 활성화하려면 device 매개변수를 cuda로 설정한다. 만약 동일한 노드에 여러 장치가 있는 경우 장치 순서(사용할 GPU를 지정)는 cuda: 구문을 사용하여 지정한다. XGBoost는 기본적으로 0(CUDA 런타임에서 보고된 첫 번째 장치)으로 설정..