Я создал свою первую нейронную сеть с TensorFlow 2 на Python. Моя идея состояла в том, чтобы построить нейронную сеть, которая способна найти решение для перевода двоичных чисел (8-разрядных) в десятичные числа. После нескольких попыток: Да, это работает очень точно!
Но что я не понимаю: Точность очень низкая.
Второе: модель должна обучать более 200 000 значений! За 256 возможных ответов. Где ошибка в моем коде / модели?
#dataset
def dataset(length, num):
global testdata, solution
testdata = np.random.randint(2, size=(num, length))
solution = testdata.copy()
solution = np.zeros((num, 1))
for i in range(num):
for n in range(length):
x = testdata [i,length - n -1] * (2 ** n)
solution [i] += x
length = 8
num = 220000
dataset (length, num)
#Modell
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(8, activation='relu'),
tf.keras.layers.Dense(1, activation='relu')
])
model.compile(optimizer='adam',
loss='mean_squared_error',
metrics=['accuracy'])
#Training und Evaluate
model.fit(testdata, solution, epochs=4)
model.evaluate(t_testdata, t_solution, verbose=2)
model.summary()
потеря: 6.6441e-05 - точность: 0.0077
Разве это не должно быть 0,77 или выше?