Одно горячее кодирование в тензорном потоке для пакетного обучения

Мои данные обучения содержат ~1500 меток (строка, одна метка на запись), и я хочу провести пакетное обучение (просто загрузите одну партию в память, чтобы обновить веса в нейронной сети). Мне было интересно, есть ли класс в tenorflow, чтобы сделать одну горячую кодировку для меток в каждом пакете? Что-то вроде в sklearn мы можем сделать

onehot_encoder = OneHotEncoder(sparse=False)
onehot_encoder.fit(entire training labels)

И затем в каждой партии в сеансе tenorflow я могу преобразовать метку своей партии и передать ее в тензор потока для обработки.

batch_label = onehot_encoder.transform(batch training labels)
sess.run(feed_dict={x:...,y:batch_label)

Пример будет оценен. Благодарю.

1 ответ

Я думаю, что этот пост похож на этот Tensorflow One Hot Encoder?

Сортировать ответ по этой ссылке http://www.tensorflow.org/api_docs/python/tf/one_hot

indices = [0, 1, 2]
depth = 3
tf.one_hot(indices, depth)  
# output: [3 x 3]
# [[1., 0., 0.],
#  [0., 1., 0.],
#  [0., 0., 1.]]

Просто опубликовать его, чтобы сэкономить ваше время;)

Другие вопросы по тегам