즐거운프로그래밍

[딥러닝] 딥러닝 7 세그먼트 인공 신경망

수수께끼 고양이 2023. 10. 30. 11:53
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
반응형