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

DNN with Keras/TensorFlow28

[TensorFlow] 회귀 (Regression) (1) 회귀 (Regression) 회귀 (regression)는 가격이나 확률 같이 연속된 출력 값을 예측하는 것이 목적이다. 이와는 달리 분류 (classification)는 여러개의 클래스 중 하나의 클래스를 선택하는 것이 목적이다 (예를 들어, 사진에 사과 또는 오렌지가 포함되어 있을 때 어떤 과일인지 인식하는 것). Auto MPG 데이터셋을 사용하여 1970년대 후반과 1980년대 초반의 자동차 연비를 예측하는 모델을 만든다. 이 기간에 출시된 자동차 정보를 모델에 대한 정보가 있다. 이 정보에는 실린더 수, 배기량, 마력 (horsepower), 공차 중량 같은 속성이 포함된다. 이 예제는 tf.keras API를 사용한다. 자세한 내용은 케라스 가이드를 참고하면 된다. # 산점도 행렬을 그리기 위.. 2022. 6. 15.
[TensorFlow] 기본 분류 (텍스트 분류) (2) 모델 구성 신경망은 층 (layer)을 쌓아서 만든다. 이 구조에서는 두 가지를 결정해야 한다. 모델에서 얼마나 많은 층을 사용할 것인가? 각 층에서 얼마나 많은 은닉 유닛 (hidden unit)을 사용할 것인가? 이 예제의 입력 데이터는 단어 인덱스의 배열이다. 예측할 레이블은 0 또는 1이다. 이 문제에 맞는 모델을 구성한다. # 입력 크기는 영화 리뷰 데이터셋에 적용된 어휘 사전의 크기입니다(10,000개의 단어) vocab_size = 10000 model = keras.Sequential() model.add(keras.layers.Embedding(vocab_size, 16, input_shape=(None,))) model.add(keras.layers.GlobalAveragePooling.. 2022. 6. 15.
[TensorFlow] 기본 분류 (텍스트 분류) (1) 영화 리뷰를 사용한 텍스트 분류 영화 리뷰 (review) 텍스트를 긍정 (positive) 또는 부정 (negative)으로 분류한다. 이 예제는 이진 (binary) 또는 클래스 (class)가 두 개인- 분류 문제이다. 이진 분류는 머신러닝에서 중요하고 널리 사용된다. 여기에서는 인터넷 영화 데이터베이스 (Internet Movie Database)에서 수집한 50,000개의 영화 리뷰 텍스트를 담은 IMDB 데이터셋을 사용한다. 25,000개 리뷰는 훈련용으로, 25,000개는 테스트용으로 나뉘어져 있다. 훈련 세트와 테스트 세트의 클래스는 균형이 잡혀 있다. 즉 긍정적인 리뷰와 부정적인 리뷰의 개수가 동일하다. 모델을 만들고 훈련하기 위해 텐서플로의 고수준 파이썬 API인 tf.keras를 사용.. 2022. 6. 15.
[TensorFlow] 기본 분류 (이미지 분류) (2) 모델 구성 신경망 모델을 만들려면 모델의 층을 구성한 다음 모델을 컴파일한다. 층 설정 신경망의 기본 빌딩 블록은 레이어이다. 레이어는 레이어에 공급된 데이터로부터 표현을 추출한다. 이러한 표현은 당면한 문제에 의미가 있어야 한다. 대부분 딥러닝은 간단한 층을 연결하여 구성된다. tf.keras.layers.Dense와 같은 층들의 가중치 (parameter)는 훈련하는 동안 학습된다. model = tf.keras.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dense(10) ]) 이 네트워크의 첫 번째 층인 tf.keras.la.. 2022. 6. 15.
[TensorFlow] 기본 분류 (이미지 분류) (1) 의류 이미지 분류 텐서플로 모델을 만들고 훈련할 수 있는 고수준 API인 tf.keras를 사용한다. # TensorFlow and tf.keras import tensorflow as tf # Helper libraries import numpy as np import matplotlib.pyplot as plt print(tf.__version__) 패션 MNIST 데이터셋 임포트하기 10개의 범주 (category)와 70,000개의 흑백 이미지로 구성된 패션 MNIST 데이터셋을 사용한다. 이미지는 해상도 (28x28 픽셀)가 낮고 다음처럼 개별 옷 품목을 나타낸다. 패션 MNIST는 컴퓨터 비전 분야의 "Hello, World" 프로그램격인 고전 MNIST 데이터셋을 대신해서 자주 사용된다. M.. 2022. 6. 15.
[TensorFlow] TensorSpace TensorSpace TensorSpace는 TensorFlow.js, Three.js 및 Tween.js로 구축된 신경망 3D visualization framework이다. TensorSpace는 layer API를 제공하여 DL layer를 구축하고, 사전 훈련된 모델을 로드하고, 브라우저에서 3D visualization를 생성한다. TensorSpace API를 적용하면 TensorFlow, Keras, TensorFlow.js 등에 의해 구축된 사전 훈련된 모델을 visualization하고 이해하는 것이 더 직관적이다. # Install in the Progressive Framework pip install tensorspacejs npm install @tensorflow/tfjs # o.. 2021. 12. 23.
[TensorFlow] 레이어 (Layer) 레이어 (Layer) keras에서 사용되는 레이어(layer, 층)는 신경망 모델을 구성하는 주요한 요소이다. Feature Extraction (특징 추출) feature extraction은 초기 데이터 set를 처리하기 위해 더 관리하기 쉬운 그룹으로 축소하는 차원 감소 프로세스이다. 데이터 양을 효과적으로 줄이면서 원본 데이터 set를 정확하고 완전하게 설명하는 방법이라고 할 수 있다. Flatten Layer input으로 사용하기 위해 행렬이 아닌 list로 만들어주는 과정이 필요한데 flatten layer가 그 역할을 한다. flatten layer는 추출된 주요 특징을 전결합층에 전달하기 위해 1차원 자료로 바꿔주는 layer이다. 이미지 형태의 데이터를 list 형태로 flatten하.. 2021. 12. 22.
텐서플로우 (TensorFlow) 텐서플로우 (TensorFlow) TensorFlow에서 텐서 (Tensor)는 DL에서 데이터를 표현하는 방식이라고 할 수 있다. Tensor는 행렬로 표현할 수 있는 2차원 형태의 배열 (list)을 높은 차원으로 확장한 다차원 list이다. 예를 들어, 회색조 (grayscale) 이미지는 하나의 채널 (channel)에 2차원 행렬 (list)로 나타낼 수 있다. RGB 이미지는 3개의 채널마다 2차원 행렬로 표현하는데, 이를 3차원의 값을 가지는 list인 Tensor로 표현할 수 있다. TenorFlow에서 계산은 데이터 흐름 그래프(dataflow graph)로 이루어 진다. Tensor 형태의 데이터들이 DL 모델을 구성하는 연산들의 그래프를 따라 흐르면서 연산이 일어난다. 따라서, DL에.. 2021. 12. 22.
728x90
반응형
LIST