Похоже, вы хотите получить раздел визуализации с t-SNE, работающим на TensorBoard. Как вы описали, API Tensorflow предоставил только основные необходимые команды в how-to document.
Я загрузил свое рабочее решение с набором данных MNIST в my GitHub repo.
Да, он разбивается на три основных этапа:
- создания метаданных для каждого измерения.
- Связанные изображения с каждым измерением.
- Загрузите данные в TensorFlow и сохраните вложения в LOG_DIR.
В комплект поставки TensorFlow r0.12 включены только общие детали. Нет полного кода, который я знаю в официальном исходном коде.
Я обнаружил, что были задействованы две задачи, которые не были зафиксированы в инструкции.
- Подготовка данных из источника
- Загрузка данных в
tf.Variable
Хотя TensorFlow предназначен для использования графических процессоров, в этой ситуации я решил произвести визуализацию т-SNE с процессор, поскольку процесс занял больше памяти, чем у моего MacBookPro GPU. Доступ API к набору данных MNIST включен в TensorFlow, поэтому я использовал это. Данные MNIST поступают в виде структурированного массива numpy. Использование функции tf.stack
позволяет этому набору данных складываться в список тензоров, которые могут быть встроены в визуализацию. Следующий код содержит то, как я извлекал данные и настраивал переменную вложения TensorFlow.
with tf.device("/cpu:0"):
embedding = tf.Variable(tf.stack(mnist.test.images[:FLAGS.max_steps], axis=0), trainable=False, name='embedding')
Создание файла метаданных было выполнено с помощью нарезки массива numpy.
def save_metadata(file):
with open(file, 'w') as f:
for i in range(FLAGS.max_steps):
c = np.nonzero(mnist.test.labels[::1])[1:][0][i]
f.write('{}\n'.format(c))
Наличие файла изображения, с которым связано, как описано в инструкции по эксплуатации. Я загрузил файл png из первых 10000 изображений MNIST в my GitHub.
До сих пор TensorFlow прекрасно работает для меня, он быстро вычисляется, хорошо документирован, и API представляется функционально полным для всего, что я собираюсь сделать на данный момент. Я с нетерпением ожидаю создания еще нескольких визуализаций с пользовательскими наборами данных в течение следующего года. Это сообщение было отредактировано my blog. Удачи вам, пожалуйста, дайте мне знать, как это происходит. :)
Благодаря @norman_h, я буду проверять свой код и вернуться :). Я не работаю с изображениями, но с текстом csv для классификации данных. – Patrick
@Patrick, тогда, я думаю, вы просто оставите строки, которые касаются спрайтов, и немного измените свой 'metadata.tsv'. –
Спасибо! Он работает сейчас! – Patrick