1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import numpy
from utils import random_array
CYRILLIC_ALPHABET = ['I', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ë', 'Ж', 'З',
'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С',
'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы',
'Ь', 'Э', 'Ю', 'Я']
"""The neural network class."""
class NeuralNetwork:
def __init__(self, learning_rate: float, input_resolution: int) -> None:
self.learning_rate = learning_rate
self.output_layer_size = len(CYRILLIC_ALPHABET)
self.input_layer_size = input_resolution ** 2
self.hidden_layer_size = round((self.input_layer_size + self.output_layer_size) / 2)
self._hidden_weights = random_array(self.hidden_layer_size, self.input_layer_size)
self._output_weights = random_array(self.output_layer_size, self.hidden_layer_size)
|