소 백 입문 tensoflow 2.0 핸드폰 디지털 인식 demo

9494 단어 tensor flow 입문
소 백 입문 tensoflow 2.0 핸드폰 디지털 인식 demo
tensoflow 2.0 은 keras 고급 API 를 사용 하여 번 거 로 운 tf.nn 에서 벗 어 날 수 있 습 니 다.
tf.keras 의 용법 은 keras 와 기본적으로 같다.
손 으로 쓴 숫자 로 CNN 데 모 를 식별 하고 tf.keras 의 기본 용법 을 익 힌 다.
데모 코드
#%%
import tensorflow as tf
import time

#%%
#    mnist dataset
mnist = tf.keras.datasets.mnist 

#%%
#training set 60000 samples, test set 10000 samples
#labels  0-9  
(x_train, y_train), (x_test, y_test) = mnist.load_data() 

#%%
#normalization
x_train, x_test = x_train/255.0, x_test/255.0

#%%
print(y_train[0:20])
#%%
#building model
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Reshape((28, 28, 1))) # 1   channels,model.fit()  channels
model.add(tf.keras.layers.Conv2D(64, (5,5), activation=tf.keras.activations.relu))
model.add(tf.keras.layers.MaxPool2D(2,2))
model.add(tf.keras.layers.Conv2D(128, (3,3),activation=tf.keras.activations.relu))
model.add(tf.keras.layers.AveragePooling2D((2,2)))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(512, activation=tf.keras.activations.relu))
model.add(tf.keras.layers.Dense(10, activation=tf.keras.activations.softmax))

model.compile(
    optimizer='SGD',
    loss='sparse_categorical_crossentropy', 
    #     categorical_crossentropy,    labels  onehot  
    metrics=['accuracy']
)


#%%
#training
now = time.time()
model.fit(x_train, y_train, epochs=20) # 20     
#testing
model.evaluate(x_test, y_test)
print(time.time()-now)



실행 결과
훈련 집 정확도 99.00%테스트 집 정확도 99.03%2080 maxq 를 사용 하여 훈련 한 경우 epoch 당 5s 정도 소모 된다.의합 이 없 으 면 epochs 설정 이 더 크 면 정확 도 를 계속 높 일 수 있 지만 tensoflow 2.0 을 체험 하기 위해 서 입 니 다.괜 찮 습 니 다.

좋은 웹페이지 즐겨찾기