fbpx

텐서플로 2.0 시작하기

0
0
5 개월 ago
구글-콜랩

구글 콜랩에서 텐서플로 2.0 을 시작하는 사람들에게…

# tensorflow 2.0 설치

pip install tensorflow-gpu==2.0.0-rc1

# tensorflow 2.0 을 tf 로 선언

import tensorflow as tf

# 데이터 셋 생성하기
# 숫자 데이터셋을 mnist 로 선언하고 로드함

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 딥러닝 모델의 학습 및 평가를 할 수 있도록 포맷 변환을 한다.
# 샘플 값을 정수에서 부동소수로 변환합니다:
# MNIST가 0-255 사이 값만을 가진다

x_train, x_test = x_train / 255.0, x_test / 255.0

# 층을 차례대로 쌓아 tf.keras.Sequential 모델을 만듭니다. 훈련에 사용할 옵티마이저(optimizer)와 손실 함수를 선택합니다
# 손실함수와 옵티마이저 : 예1,
# 간단한 완전 연결(fully-connected) 네트워크(즉, 다층 퍼셉트론(multi-layer perceptron))
# Dropout : http://man.hubwiz.com/docset/TensorFlow.docset/Contents/Resources/Documents/api_docs/python/tf/keras/layers/Dropout.html

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
# 128개의 유닛을 가진 완전 연결 층을 모델에 추가함. 68개를 2개 쓸 수도 있음
tf.keras.layers.Dense(128, activation=’relu’),
tf.keras.layers.Dropout(0.2),
#10개의 출력 유닛을 가진 소프트맥스 층을 추가합니다
tf.keras.layers.Dense(10, activation=’softmax’)
])

# 모델 학습과정 설정

model.compile(optimizer=’adam’,
loss=’sparse_categorical_crossentropy’,
metrics=[‘accuracy’])

# 모델 학습시키기

model.fit(x_train, y_train, epochs=5)

# 모델평가

model.evaluate(x_test, y_test, verbose=2)

결과값

참조글

케라스 모델링 순서

케라스로 딥러닝 모델을 만들 때는 다음과 같은 순서로 작성된다.

  1. 데이터 셋 생성하기
    원본 데이터를 불러오거나 데이터를 생성한다.
    데이터로부터 훈련셋, 검증셋, 시험셋을 생성한다.
    이 때 딥러닝 모델의 학습 및 평가를 할 수 있도록 포맷 변환을 한다.
  2. 모델 구성하기
    시퀀스 모델을 생성한 뒤 필요한 레이어를 추가하며 구성
    좀 더 복잡한 모델이 필요할 때는 케라스 함수 API를 이용한다
  3. 모델 학습과정 설정
    학습하기 전, 학습에 대한 설정을 수행한다.
    손실 함수 및 최적화 방법을 정의
    케라스에서는 compile() 함수를 사용한다.
  4. 모델 학습시키기
    훈련셋을 이용하여 구성한 모델로 학습시킨다.
    케라스에서는 fit() 함수를 사용한다.
  5. 학습과정 살펴보기
    모델 학습시 훈련셋, 검증셋의 손실 및 정확도를 측정한다.
    반복횟수에 따른 손실 및 정확도 추이를 보면서 학습상황 판단.
  6. 모델 평가
    준비된 시험셋으로 학습한 모델을 평가한다.
    케라스에서는 evaluate() 함수를 사용
  7. 모델 사용하기
    임의의 입력으로 모델의 출력을 얻는다.
    케라스에서는 predict() 함수를 사용한다.

출처: https://potensj.tistory.com/13 [개발이야기]

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다