2024.02.01
실습1: 차원에 대한 개념 익히기
import numpy as np
# 01) 0차원 : Scalar
arr= np.array(10)
arr
arr.shape
=> ()
# 02) 1차원 : Vector
arr = np.array( [10])
arr
arr.shape
=> (1, )
# 예) 1차원 벡터에 원소가 3개 있는 경우
arr = np.array([1,3,5])
arr.shape
=> (3,)
# 03) 2차원: Matrix
arr = np.array([
[1,2,3],[4,5,6],[7,8,9]
])
arr.shape
=> (3,3)
arr = np.array([
[10]
])
arr.shape
=> (1,1)
# 04) 3차원: Tensor
arr = np.array([
[[1,2,3],[4,5,6]],
[[7,8,9],[5,4,3]],
[[6,5,4],[11,12,13]]
])
arr.shape
=> (3,2,3)
실습2: Tensor Flow(2.x 버전)의 기본적인 기능 흐름 익히기
Tensorflow의 기본적인 기능
import tensorflow as tf
tf.__version__ # 버전 확인 하는 법
tf.constant([1,2,3])
# => shape=(3,), dtype=int32, numpy결과 등 조회 가능
# tf 변환 시 형 지정 가능
tensor = tf.constant([1,3,5], dtype=tf.float32)
# 참고) 예전에 array로 불러놓고 형을 변환할때
arr = np.array([1,2,3], dtype = np.float32)
arr.astype(np.int16)
# TF는 astype이 아닌 cast로 메서드 정의한다.
tf.cast(tensor, dtype=int16)
# 서로 형 변환 : array <-> tf
tensor.numpy() # TF에서 array의 값만 추출
np.array(tensor) # array를 TF로 변환
Tensorflow을 활용한 딥러닝 활용의 기본적인 흐름
# 1) 데이터 로드
mnist = tf.kerasdatasets.mnist
mnist
# 데이터와 테스트 셋 분리하는 TF 메서드
(X_train, y_train),(X_test, y_test) = mnist.load_data()
X_train.shape
=> (60000,28,28) # 의미: 28*28짜리 2D이미지가 6만장 쌓인 3D 데이터이다.
# 간단하게 MinMax로 처리: 8비트 영상 -> 0-255까지 결정
X_train, X_test = X_train/255.0, X_test/255.0
model = tf.keras.models.Sequential([
# input layer
tf.keras.layers.Flatten(input_shape=(28,28))
tf.keras.layers.Dense(128,activation='relu'),
# output layer : 모델의 목적은 0~9까지 10종류 분류
tf.keras.layers.Dense(10,activation="softmax")
])
model
# 2) 모델을 어떻게 학습할지에 대해서 정의 : compile
model.compile(
optimizer = 'Adam',
loss = 'sparse_categorical_crossentropy',
metrics = ['accuracy']
)
# 3) 실제 데이터를 넣어 실습 및 학습
model.fit(X_train, y_train, epochs=3)
# 4) 실제 평가
model.evaluate(X_test, y_test)'ASAC 빅데이터전문가과정 > DL' 카테고리의 다른 글
| ASAC 52일차_딥러닝 7일차 (0) | 2024.09.02 |
|---|---|
| ASAC 51일차_딥러닝 6일차 (0) | 2024.09.02 |
| ASAC 50일차_딥러닝 5일차 (0) | 2024.09.02 |
| ASAC 49일차_딥러닝 4일차 (1) | 2024.09.02 |
| ASAC 47일차_딥러닝 3일차 (0) | 2024.09.02 |