전체 글 169

Learing Rate의 Batch / Epoch Level 동적 적용

💡Batch 단위 tf.keras.optimizer.LearingRateSchedule keras bacth 단위로 lr를 최적화하는 optimizer(sgd,rmsprop, adam 등..)에 적용됨 model.compile(optimizer=Adam(learing_rate=CosineDecay(..)))와 같이 compile() 호출 시, optimizer 인자로 적용되어야 함. 💡Epoch 단위 tf.keras.callbacks.LearingRateScheduler keras epoch 단위로 lr를 최적화하는 callbackmodel.fit(~callbacks=[LearningRateScheduler(schedule_funtion)]) 와 같이 fit() 호출 시, callbacks 인자로 입력

Learing Rate Scheduler

💡Learung Rate 정의 Learing Rate는 Gradient의 보폭을 말한다. Deep Learning Network이 확률적 경사 하강법(SGD) 최적화 알고리즘을 사용하여 훈련 하는 데, 사용되는 파라미터이다. Learing Rate는 성능에 꽤 큰 영향을 주는 파라미터이며, 학습되는 모델의 weight의 최적값을 어떻게 찾아 나갈 지 보폭을 정한다. (hyper param) ▶ Hyper Parameter는 user가 직접 셋팅 할 수 있는 값이며, knn or lr rate 등.. 👉 Scheduler Learing Rate를 조정하는 Learing Rate Scheduler를 사용하면 learning rate(보폭)으로 빠르게 optimize를 하고, 최적값에 가까월 질수록 leari..

MLDL_정리/Sample 2023.02.24

Pre Train, Find Tuning 정의

💡Pre Training 정의 선행 학습, 사전 훈련, 전처리 과정이라고도 하며, multi layered perceptron(mlp)에서 weight와 bias를 잘 초기화 시키는 방법 💡Fine Tuning 정의 기학습된 모델을 기반으로 하여, 내가 원하는 이미지에도 대응이 가능하게, 학습된 모델의 weight로 부터 학습을 업데이트 하는 방법 👉 Pretrained Model의 Fine Tuning(미세 조정) 방식 ImageNet Pretrained 모델을 커스텀 모델로 활용 할 시, ImageNet으로 학습된 Feature Extractor 내의 가중치(weight)값의 급격한 변화를 제어하기 위해 적용 하는 기법 🚀 적용 방식 단계 1: feature extractor, classificati..

MLDL_정리/Sample 2023.02.24

EfficientNet - Network 구조 및 구현

💡Network (아키텍처 구조) EfficientNet Network는 메인으로 mobile inverted bottleneck convolution(MBConv) block을 사용한다. MBConv block Depthwise separable conv와 Squeeze-and-excitation(se) 개념을 적용한 방식이다. 📝 https://github.com/qubvel/efficientnet GitHub - qubvel/efficientnet: Implementation of EfficientNet model. Keras and TensorFlow Keras. Implementation of EfficientNet model. Keras and TensorFlow Keras. - GitHub ..

ResNet - Network 구조 및 구현

💡Network ResNet은 Residual neural network의 줄임말이며, 잔차(residual)과 관련이 있다. Resnet을 사용하면 레이어의 인풋이 다른 레이어로 곧바로 건너 뛰는 short cut을 구성하고 있으며, 딥러닝 모델의 레이어를 깊이 쌓으면 발생하는 문제를 해결하기 위해, 잔차 함수 개념을 적용 하였으며, Resnet을 기반으로 이후에 나온 많은 모델들의 기반이 된 딥러닝 CNN 모델이다. 👉 특징 Resnet의 주요 특징은 short cut과 identity block을 구성이다. 아래 사진처럼 resnet 이전에는 output값 그대로 다음 노드의 input으로 입력 했지만, short cut 방식은 이전 layer output값을 conv layer로 거치지 않고 그대..

VGGNet16 - Network 구조 및 구현

💡Network Learing Rate는 Gradient의 보폭을 말한다. Deep Learning Network이 확률적 경사 하강법(SGD) 최적화 알고리즘을 사용하여 훈련 하는 데, 사용되는 파라미터이다. Learing Rate는 성능에 꽤 큰 영향을 주는 파라미터이며, 학습되는 모델의 weight의 최적값을 어떻게 찾아 나갈 지 보폭을 정한다. (hyper param) ▶ Hyper Parameter는 user가 직접 셋팅 할 수 있는 값이며, knn or lr rate 등.. 👉 특징 Network Depth와 성능 영향에 집중을 위해 등장 하였으며, Kernel Size가 크면 Image Size 축소가 급격하게 이뤄져서 더 깊은 층을 만들기 어려우며, Parameter 수와 많은 연산량도 필..

[CUDA] 기본 정리 #1

✍ CUDA 기본 내용 정리 #1 References CUDA Toolkit Documentation CUDA Toolkit Documentation docs.nvidia.com Programming Massively Parallel Processors 👉CPU와 GPU의 기능 -. CPU와 GPU는 서로 다른 목적으로 설계 되었으며, CPU는 Multi-Core(각 코어 당, 2개의 Thread)를 목표로 순차 프로그램의 속도 즉, 순차적인 명령을 빨리 실행 되도록 설계 되었으며, GPU는 수 천 개의 Thread (cpu thread보다 더 느린)를 병렬로 실행하는 데 특화되도록 설계가 되었다. 🙋‍♂️ cuda 병렬 프로그래밍 모델은 C와 같은 표준 프로그래밍 언어에 익숙한 프로그래머들이 쉽게 배울..

GPU, CUDA 2022.08.31

[Mil] Matrox Example Launcher Error (Allocation error)

MIL Program을 실행 시키는 H/W 구성 內, Matrox 보드가 없는 경우 위와 같은 에러가 발생 할 수 있음. 초기 Matrox 프로그램 설치 시 Default Value / System Type을 host로 할당하면 문제가 되지 않으나, 그렇지 않은 경우 위와 같은 에러가 발생 ** 해결 방법 1. MILConfig에서 System Type 확인 2. System Type - Host로 변경 필요 Host로 변경하면 보드 없이 cpu로만 Matrox Example Launcher 동작됨