티스토리 뷰

Introduction To Tensorflow

 

Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning

deeplearning.ai에서 제공합니다. If you are a software developer who wants to build scalable AI-powered algorithms, you need to understand how to use the ... 무료로 등록하십시오.

www.coursera.org

이미지를 학습하여, 주어진 이미지가 어떤 카테고리(ex. 부츠, 치마, 셔츠 등등 )인지 예측

데이터 셋 : fashion-mnist

하기 모델은 3개의 층으로 구성되어 있음

  • flatten : 이미지를 1차원 리스트로 구성하기 위한 함수
  • 중간층(=Hidden Layer) : 중간 층의 뉴런 개수= 1024
  • 출력층 : 예측해야 할 라벨이 10개
  • 각 층은 활성화 함수가 필요: 활성화 함수는 입력신호의 총합을 받아서 다음 신호로 내보낼 지 말지 결정하는 함수
    • 활성화 함수 1 ) relu 
      •  hidden layer를 활성화 시키는 함수 :  0보다 작은 값이 나온 경우 0, 0보다 큰 값이 나온 경우 그 값 반환
    • 활성화 함수 2) softmax
      • 다중 클래스(n) 분류가 필요될 때, n개의 벡터를 입력받아 각 클래스에 속할 확률 계산
  • 여기서 중요한 것은 중간 층의 뉴런 개수를 1024, 혹은 128 등으로 조정해보면서 모델의 결과를 책정해보는 것
model = tf.keras.models.Sequential([tf.keras.layers.Flatten(),
								# 중간 층
                                    tf.keras.layers.Dense(1024, activation=tf.nn.relu),
                                # 예측해야할 라벨이 10개 (ex. 부츠인지, 셔츠인지, 치마인지 등등)
                                    tf.keras.layers.Dense(10, activation=tf.nn.softmax)])
  • Callback :  epoch 과 상관없이 학습 결과가 원하는 지점에 도달했다면 멈춤
class myCallback(tf.keras.callbacks.Callback):
  def on_epoch_end(self, epoch, logs={}):
    if(logs.get('loss') < 0.4):
      print("\nLoss is lower than 0.4 so cancelling training!")
      self.model.stop_training = True
callbacks = myCallback()

예를 들어 loss가 0.4 보다 낮아졌다면 지정한 epoch 과 상관없이 학습 정지

'데이터분석 > Tensorflow' 카테고리의 다른 글

[Tensorflow] convolutions and pooling  (0) 2022.10.03
[Tensorflow] Hello_World of Neural Network  (0) 2022.10.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함