Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
letters = "ЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЧЧШЩЪЫЬЭЮЯ"
def print_letter(result):
return letters[result]
if result == 1:
self.line.setText('А')
return 'А'
elif result == 2:
self.line.setText('Б')
return 'Б'
elif result == 3:
self.line.setText('В')
return 'В'
elif result == 4:
self.line.setText('Г')
return 'Г'
...
symbol = {
1: 'A',
2: 'Б',
3: 'В',
...
}.get(result)
if symbol:
self.line.setText(symbol)
return symbolЯ ни разу не специалист по нейронным сетям, но мне доводилось делать точно такое же задание (без GUI-части) для домашнего задания в университете. Мне кажется, вот такие вещи можно улучшить:
Рисовать на 28x28, конечно, не удобно — можно рисовать на холсте в большом разрешении и потом ресайзить до маленького. Итоговая скорость работы (и, в особенности, обучения) будет выше на порядок.
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(16, (3, 3), activation='relu',
input_shape=(278,278, 3)),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(33, activation='softmax')
])
Распознавание русского алфавита: от сбора датасета до создания GUI