본문 바로가기
728x90
반응형
SMALL

keras38

Embedding Layers Embedding Layers 임베딩 레이어는 신경망의 데이터 흐름에 추가 정보를 자동으로 삽입할 수 있는 Keras의 편리한 기능이다. 임베딩 레이어를 사용하면 단어 인덱스 대신 n차원 벡터를 자동으로 삽입할 수 있습. 프로그래머는 자연어 처리 (NLP)와 함께 임베딩 레이어를 사용하는 경우가 많지만, 인덱스 값 자리에 더 긴 벡터를 삽입하고 싶을 때도 이 레이어를 사용할 수 있다. 어떤 면에서 임베딩 레이어는 차원 확장이라고 생각할 수 있다. input_dim : 어휘의 크기는 어느 정도인지 얼마나 많은 카테고리를 인코딩하고 있는지에 대한 이 매개변수는 "조회 테이블"의 항목 수 output_dim : 반환하려는 벡터의 숫자 수 input_length : 입력 특징 벡터에 변환해야 하는 항목의 수 이.. 2024. 1. 11.
ROC 및 AUC를 사용한 다중클래스 분류 ROC 및 AUC를 사용한 다중클래스 분류 신경망의 출력은 다양한 형태로 나타날 수 있다. 그러나 전통적으로 신경망 출력은 일반적으로 다음 중 하나이다. • 이진 분류 (Binary Classification) : 두 가지 가능성 (양수 및 음수) 간의 분류이다. 의료 검사에서는 일반적으로 질병에 걸린 사람인지 (양성), 질병이 없는지 (음성) 여부를 확인한다. • 분류 (Classification) : 2개 이상의 붓꽃 데이터세트 간의 분류 (3방향 분류) • 회귀 (Regression) : 수치 예측 이진 분류 및 ROC 차트 이진 분류는 신경망이 참 / 거짓, 예 / 아니요, 정확 / 틀림, 구매 / 판매라는 두 가지 옵션 중에서 선택해야 할 때 발생한다. 이진 분류를 사용하는 방법을 알아보기 위해.. 2023. 11. 7.
[Deep Learning] 1D CNN 1D CNN 1D CNN은 1차원 데이터를 처리하는 CNN의 한 종류이다. 컴퓨터 비전 작업에서 CNN에 대한 입력은 일반적으로 각 픽셀이 행렬의 값으로 표시되는 2차원 이미지이다. 이와 대조적으로 숫자 데이터는 일반적으로 1차원 값 시퀀스로 표시된다. 일반적으로 CNN은 이미지 처리에서 주로 쓰이며 2D convolution을 사용하지만, 수치나 텍스트 처리에서는 filter가 위아래 한 방향으로만 이동하는 1D Convolution을 사용한다. 1D CNN은 입력 데이터 위에 작은 창을 슬라이딩하고 창과 학습 가능한 필터 세트 사이의 내적을 계산하는 컨볼루션 작업을 입력 데이터에 적용한다. 이 작업의 결과는 피처 맵이며, 이는 비선형 활성화 함수와 풀링 레이어를 통해 전달되어 출력의 차원을 줄인다. .. 2023. 9. 27.
[Keras] ImageDataGenerator class weight ImageDataGenerator class weight 딥러닝시 이미지 데이터의 불균형 문제를 해결하기 위해 class에 따른 가중치를 다르게 부여할 수 있다. from sklearn.utils import compute_class_weight import numpy as np train_classes = train_generator.classes class_weights = compute_class_weight( class_weight = "balanced", classes = np.unique(train_classes), y = train_classes ) class_weights = dict(zip(np.unique(train_classes), class_weights)) model.fit_gen.. 2023. 9. 8.
ImageDataGenerator 훈련 및 검증 데이터 분할 ImageDataGenerator 훈련 및 검증 데이터 분할 ImageDataGenerator를 사용할 때 훈련 데이터를 훈련 및 검증으로 분할한다. Keras에는 기계 학습 프로젝트에서 모든 종류의 일반적인 작업을 수행하는 데 필요한 많은 필수 유틸리티 기능 및 클래스가 번들로 제공된다. 일반적으로 사용되는 클래스 중 하나는 ImageDataGenerator이다. 문서에 설명된 대로 실시간 데이터 증대를 통해 텐서 이미지 데이터 배치를 생성한다. 데이터는 일괄적으로 반복된다. 지금까지는 훈련 이미지 폴더와 검증 이미지 폴더를 별도로 유지해도 괜찮다. 예를 들어, flow_from_directory 함수와 함께 사용할 이미지에 대해 두 개의 별도 폴더 구조를 생성하여 훈련 및 검증 데이터 세트를 직접 구.. 2023. 9. 6.
자동 기계 학습 (AutoML) 자동 기계 학습 (AutoML) 자동 기계 학습 (Automatic Machine Learning)은 기계 학습을 사용하여 자동화를 시도한다. 데이터는 원시 형태로 AutoML 애플리케이션에 전달되고 모델이 자동으로 생성된다. AutoML 어플리케이션 • AutoKeras • Auto-SKLearn • Auto PyTorch • TPOT • Google Cloud AutoML Tutorial • Azure AutoML AutoKeras AutoKeras는 Keras 기반의 AutoML 시스템이다. AutoKeras의 목표는 모든 사람이 기계 학습에 접근할 수 있도록 하는 것이다. import os import pandas as pd URL = "https://github.com/jeffheaton/dat.. 2023. 7. 24.
[시각 지능] 합성곱 오토인코더 (Convolutional Autoencoder) 합성곱 오토인코더 (Convolutional Autoencoder) 합성곱 오토인코더 (Convolutional Autoencoder)는 오토인코더 (Autoencoder)의 일종으로, 이미지와 같은 고차원 데이터를 저차원으로 압축하고 복원하는 데 사용된다. 합성곱 오토인코더는 합성곱 계층 (convolutional layer)과 풀링 계층 (pooling layer)을 사용하여 입력 데이터의 공간적 정보를 보존하면서 압축한다. 이러한 합성곱 오토인코더는 이미지 처리 분야에서 많이 사용되며, 이미지 노이즈 제거, 이미지 생성 등에 활용된다. 라이브러리 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensor.. 2023. 5. 3.
Programming LSTM with Keras and TensorFlow Programming LSTM with Keras and TensorFlow 전방 연결을 가진 신경망은 항상 첫 번째 숨겨진 계층에 연결된 입력 계층으로 시작한다. 각 숨겨진 계층은 항상 다음 숨겨진 계층에 연결된다. 마지막 숨겨진 계층은 항상 출력 계층에 연결된다. 이러한 연결 방식이 이러한 네트워크를 "feed-forward"라고 부르는 이유이다. 반복 신경망은 역방향 연결도 허용되기 때문에 경직되지 않는다. 반복적인 연결은 층의 뉴런을 이전 층 또는 뉴런 자체에 연결한다. 대부분의 반복 신경망 아키텍처는 반복 연결에서 상태를 유지한다. 피드포워드 신경망은 어떤 상태도 유지하지 않는다. LSTM LSTM (Long Short Term Memory) 레이어는 심층 신경망과 함께 자주 사용하는 반복 단위.. 2022. 12. 6.
Data Encoding Data Encoding 시간이 지남에 따라 신경망에 데이터를 인코딩하는 많은 다양한 방법이 있다. 시계열 인코딩은 시간이 지남에 따라 발생하는 이벤트를 신경망에 표현하는 것을 다룬다. 순방향 신경망은 항상 주어진 입력 벡터에 대해 동일한 출력 벡터를 생성하기 때문에 이 인코딩이 필요하다. 순환 신경망은 시간이 지남에 따라 발생하는 데이터를 자동으로 처리할 수 있기 때문에 시계열 데이터를 인코딩할 필요가 없다. from IPython.display import display, HTML import pandas as pd import numpy as np x = [[32], [41], [39], [20], [15]] y = [1,-1,0,-1,1] x = np.array(x) print(x[ :, 0]) .. 2022. 12. 1.
[Keras] tflite 변환 tflite 변환 케라스 모델은 딥러닝 모델을 개발하기 위한 고수준 라이브러리인 케라스를 이용하여 만든 모델이다. tensorflow의 tf.keras 모듈을 통해 케라스 모델을 바로 만들거나 SavedModel, HDF5 포맷으로 저장된 모델을 케라스 모델로 불러와서 tensorflow lite 모델로 변환할 수 있다 h5 파일을 pb 파일로 변환 from tensorflow import keras model = keras.models.load_model('model.h5', compile = False) export_path = './pb' model.save(export_path, save_format = "tf") pb 파일을 tflite 파일로 변환 saved_model_dir = './pb' .. 2022. 11. 24.
728x90
반응형
LIST