[英]How can I recognize digits from photo (.jpg format) using Python and TF, Keras?
如果您打算采用NN方法,那么我將首先從一個小nn開始,然后看看它的效果如何,您可以從此處使用MNIST玩具示例。
請注意,您將需要使用自己的數據,而不是mnist:
import tensorflow as tf
x_train, y_train = load_train_data()
x_test, y_test = load_test_data()
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
請注意,我“發明”了兩個函數: load_train_data()
和load_test_data()
,您需要為數據實現它們,並為每個函數返回一個((samples,x,y), labels)
元組。
一旦有了感覺,我將探索更高級的網絡,您可以在這里查看: https : //towardsdatascience.com/a-simple-2d-cnn-for-mnist-digit-recognition-a998dbc1e79a ,它是一個不錯的教程對於2D CNN網絡,只需使用數據加載功能而不是mnist。
由於您現在可能正面臨一堵牆,因為您沒有足夠的數據,因此需要應用一些數據擴充。
最后一個CVPR提供了一個很好的解決方案“ Deep Diffeomorphic Transformer Networks ”,它在樣本數量少的數字分類方面表現出色。 您可以在此處找到mnist代碼,然后再次使用數據功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.