728x90
반응형
텐서플로를 활용하여 7 세그먼트 숫자 값에 따라 표시되는 LED의 ON, OFF 값을 입력 받아 2진수로 출력하는 인공신경망을 구성하고 학습합니다.
numpy 배열로 데이터 초기화하기
# _7seg_data.py
import numpy as np
np.set_printoptions(precision=4, suppress=True)
X=np.array([
[ 1, 1, 1, 1, 1, 1, 0 ], # 0
[ 0, 1, 1, 0, 0, 0, 0 ], # 1
[ 1, 1, 0, 1, 1, 0, 0 ], # 2
[ 1, 1, 1, 1, 0, 0, 1 ], # 3
[ 0, 1, 1, 0, 0, 1, 1 ], # 4
[ 1, 0, 1, 1, 0, 1, 1 ], # 5
[ 0, 0, 1, 1, 1, 1, 1 ], # 6
[ 1, 1, 1, 0, 0, 0, 0 ], # 7
[ 1, 1, 1, 1, 1, 1, 1 ], # 8
[ 1, 1, 1, 0, 0, 1, 1 ] # 9
])
YT=np.array([
[ 0, 0, 0, 0 ],
[ 0, 0, 0, 1 ],
[ 0, 0, 1, 0 ],
[ 0, 0, 1, 1 ],
[ 0, 1, 0, 0 ],
[ 0, 1, 0, 1 ],
[ 0, 1, 1, 0 ],
[ 0, 1, 1, 1 ],
[ 1, 0, 0, 0 ],
[ 1, 0, 0, 1 ]
])
_7seg_data.py 파일이 있는 디렉터리에 아래 코딩을 작성하여 저장해줍니다.
# 311.py
from _7seg_data import X, YT
print(X.shape)
print(YT.shape)
딥러닝 모델 학습시키기
import tensorflow as tf
from _7seg_data import X, YT
model=tf.keras.Sequential([
tf.keras.Input(shape=(7,)),
tf.keras.layers.Dense(8, activation='relu'),
tf.keras.layers.Dense(4, activation='sigmoid')
])
model.compile(optimizer='adam',loss='mse')
model.fit(X,YT,epochs=10000)
Y=model.predict(X)
print(Y)
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[딥러닝] 딥러닝 출력층에 linear 함수 적용해보기 (0) | 2023.10.30 |
---|---|
[딥러닝] 딥러닝 국소해의 문제 해결해보기 (0) | 2023.10.30 |
[딥러닝] 딥러닝 소프트 맥스(softmax) 활성화 함수 (0) | 2023.10.28 |
[딥러닝] 딥러닝 활성화 함수 적용하기 (0) | 2023.10.28 |
[딥러닝] 딥러닝 활성화 함수(sigmoid, ReLU, 계단 함수) (1) | 2023.10.28 |