Мои данные содержат 1 функцию и метку для функции, т.е.["smallBigTest", "toastBob"]
<- функция 4 метки <code>["mix", "small", "big", "medium"]
Я преобразовал свои функции в числа на основе алфавита, т.е.
smallBigTest -> 18, 12, 0, 53, 53, 27, 8, 6, 45, 4, 18, 19
toastBob -> 19, 14, 0, 18, 19, 27, 14, 1, -1, -1, -1, -1
, который позже я в горячем виде и изменил, чтобы окончательный массив функций выглядел так: [[hotencoded(18,12,0,53,53,27,8,6,45,4,18,19)], [hotencoded(19,14,0,18,19,27,14,1,-1,-1,-1,-1)]
просто превратил его в двумерный массив из трехмерного массива, чтобы соответствовать моим меткамформа, у меня также есть горячие закодированные метки
данные обучения составляют около 60 тыс. строк текстового файла 1,2 МБ CSV
и вот моя модель:
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(16, activation=tf.nn.sigmoid))
model.add(tf.keras.layers.Dense(labelsDictSize, activation=tf.nn.softmax))
optimizer = tf.train.GradientDescentOptimizer(0.05)
model.compile(optimizer, loss=tf.losses.softmax_cross_entropy)
model.fit(featuresOneHot,labelsOneHot, steps_per_epoch=dataCount, epochs=5, verbose=1)
I 'Я новичок в ML, так что я могу делать что-то совершенно неправильное или совершенно глупое, хотя я подумал, что с этим объемом данных все будет в порядке.Обучение на моей машине с gtx870m занимает час в эпоху, а в Google для совместной работы - около 20-30 минут в эпоху