딥러닝 18

JAX/Flax로 딥러닝 레벨업 - 제이펍 [도서리뷰]

최신 LLM 모델들을 공부하시다 보면JAX, Flax 라이브러리를 많이 들어보셨을 거라 생각합니다.JAX와 Flax는 아직 딥러닝 모델 시장에서 활성화 되지는 않았지만, 시장을 잠식해가고 있는 메타플랫폼스의 파이토치에대항마로 구글에서 최근에 밀어주고 있는 라이브러리 인데요,JAX와 Flax는 각각 2018년, 2020년에 구글리서치에서 개발하여 사용하고 있습니다.  지은이들은 모두의 연구소 'JAX/ Flax LAB'로 구성된 멤버분들이라고 합니다.모두의 연구소는 여러 LAB을 운영하면서,AI에 관한 여러 LAB을 운영하는 걸로 유명한데요,현업자들과 연구자분들이 뭉쳐서 책을 지으셨다고 합니다. 모두의 연구소의 풀잎스쿨을 여러번 참여한 경험이 있었는데요,다들 열정이 넘치고 적극적으로 활동해주셨던 분들이 많..

yolo-nas 학습하기[Python]

https://www.youtube.com/watch?v=V-H3eoPUnA8 2023년 초 roboflow에서 출시한 yolov5의 후속작 yolov8과 Object Detection분야에서 다시 SOTA를 찍은 yolov6 두가지를 정확도와 속도에서 더 좋은 결과를 보여주는 yolo-nas를 학습하는 방법을 공부해 보았다. https://www.youtube.com/watch?v=91p2SkSuZkc 환경은 코랩에서 진행했다. https://colab.research.google.com/drive/1yHrHkUR1X2u2FjjvNMfUbSXTkUul6o1P?usp=sharing DeciYoloCustomDatasetQAFineTuning.ipynb Colaboratory notebook colab.r..

[Docker] yolov8 docker 설치해보기

https://github.com/ultralytics/ultralytics GitHub - ultralytics/ultralytics: YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/ultralytics development by creating an account on GitHub. github.com yolo v5를 만든 팀이 2023년 yolov8를 가지고 돌아왔다. 이렇게 쉽게 동작되도 되나 싶을 정도로 쉽게 만들어 졌다. 포스팅 하는 기준으로 아직 안정화가 덜 된듯 하지만, 추후 안정화 되면 비전 딥러닝 관련해서 정말 큰 파장(이미 ..

[python] 텐서플로 object_detection 실습

import In [ ]: import tensorflow as tf # tensorflow import tensorflow_hub as tfhub # tensorflow hub Data In [ ]: # 샘플 이미지 다운로드 # 위키디피아에서 제공하는 강남 지역의 거리 사진을 다운로드 후, 모델의 입력 형태에 맞게 전처리 img_path = 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Gangnam_Seoul_January_2009.jpg/1280px-Gangnam_Seoul_January_2009.jpg' img = tf.keras.utils.get_file(fname='gangnam', origin=img_path) img = tf.io...

[python] Yolo v5 object detection 고추 병해 데이터 셋 학습해보기

하루하루 최종 프로젝트가 단단해지고 있다. 오늘은 기존 고추 잎으로 해본 것을 고추에 있는 탄저병을 구분해보려고 한다. model은 yolo v5를 사용해서 학습을 실시해보자 (코랩에서는 사람들이 올려놓은 예제를 따라했을때 잘됬는데, 안되서 애좀 먹었다. 알고보니 폴더 구성을 잘못해서...ㄷㄷ;) 실행은 CPU환경으로 했다. import torch import utils display = utils.notebook_init() # checks YOLOv5 v6.1-325-g3e85863 Python-3.9.13 torch-1.12.0+cpu CPU Setup complete (16 CPUs, 31.9 GB RAM, 295.3/466.1 GB disk) PC의 Cuda 버전을 11.7 버전을 설치했는데, ..

[Python] 딥러닝 ViT 모델을 활용하여 고추잎 질병 이미지 판별

최근 Transformer 기반의 모델들이 각광을 받고 있다. 관련 코드를 보고, AI hub에 있는 데이터셋을 받아서 고추 잎 이미지의 분류를 실시해보았다. ViT Image classification 모델 https://keras.io/examples/vision/image_classification_with_vision_transformer/ Keras documentation: Image classification with Vision Transformer Image classification with Vision Transformer Author: Khalid Salama Date created: 2021/01/18 Last modified: 2021/01/18 Description: Imple..

[Ptyhon] 딥러닝 활성화 함수, 가중치 정리

활성화 함수 (1) 뇌세포의 출력값 - 뇌세포는 항상 일정한 크기의 값을 출력함 (0 or 1) - 뇌세포의 출력물은 디지털 신호로 간주할 수 있음 (1) Sigmoid 함수 - 입력값을 0부터 1사이의 값으로 출력 (2) Tanh 함수 - -1 부터 1사이값으로 다듬어주며 입력값이 작을수록 -1에 가까운 값을 출력하고 입력값이 크면 1에 가까운 값을 출력하게 된다. 음수값을 사용하지 않으려는 추세가 등장하면서 선호도가 낮아짐 (3) ReLU 함수 - 0보다 작은값을 0으로 만들고, 0보다 큰 값은 그대로 출력한다. - 렐루는 뉴런의 활동을 모사하기 보단, 기울기 소실 문제(vanishing gradient problem)을 해결하기 위한 방법으로 조명됨 - 기울기 소실문제 : 딥러닝 신경망의 가중치 수..

[Python] 딥러닝 ResNet 구현하기

ResNet 구현하기 ResNet에 처음 소개된 Residual Connection은 모델 내의 지름길을 새로 만든다고도 하여 Skip Connection이라고도 불리며, 레이어 개수가 매우 많은 경우에 발생할 수 있는 기울기 소실(Vanishing Gradient) 문제를 해결하고자 등장 import tensorflow as tf from tensorflow.keras import layers, Model, Sequential class ResidualBlock(Model): def __init__(self, num_kernels, kernel_size): super(ResidualBlock, self).__init__() # TODO: [지시사항 1번] 2개의 Conv2D Layer를 추가 self...

[Python] 딥러닝 CNN(VGG16 모델 구현하기)

VGGNet은 ILSVRC 2014년도에 2위를 한 모델로 모델의 깊이에 따른 변화를 비교할 수 있게 만든 모델 이전까지의 모델들은 첫 번째 Conv Layer에서는 입력 영상의 축소를 위해 11 x 11, 7 x 7의 filter 를 사용한 것에 비해 VGGNet 은 Convolution Layer 에 3 x 3 filter 를 사용한 것이 특징 import tensorflow as tf from tensorflow import keras def VGG16(): # Sequential 모델 선언 model = keras.Sequential() # TODO : 지시사항을 잘 보고 VGG16 Net을 완성해보세요. # 첫 번째 Conv Block # 입력 Shape는 ImageNet 데이터 세트의 크기와 ..

[Python] 딥러닝 CNN 연산

Fully-connected Layer와 이미지 데이터 FC Layer는 1차원 데이터를 요구 • 이미지를 단순하게 1차원으로 바꾸면 2차원 상에서 가지는 정보를 포기해야 함 - 이미지 내 사물 간의 거리 관계 등 - 색의 변화 → 특히 세로로 변하는 상황 • 즉, 공간 정보(Spatial Information)가 무너짐 • 따라서 이미지 처리에 특화된 딥러닝 모델이 등장 • CNN의 대표적인 구성 요소 - Convolutional Layer - Pooling Layer - 분류기(Classifier): Fully-connected layer로 구성 Convolution 연산 CNN을 구현하는 핵심 연산 • 커널과 Convolution 연산 - 전통적인 이미지 처리 분야에서 커널(또는 필터)이란 것이 존..