Pull to refresh

Comments 14

А вы пробовали пользоваться tf.summary.tensor_summary? Или я не понимаю для чего оно предназначено или оно не работет. Можете подсказать как с этой штукой работать?
Вы говорите, о вызове метода на языке Python. Вся статья (как и предыдущая) рассказывает о том, как использовать TensorFlow в языке Swift.
Да, я понимаю, но ведь в Swift-библиотеке есть аналог этого метода? Приходилось вам им пользоваться?
О какой swift библиотеке вы говорите? Не существует официальной реализации (как и полноценной не официальной) TensorFlow для Swift.
Именно по этой причине я написал свою реализацию — TensorFlowKit.
Да, я её и имею в виду, но по сути это не так и важно, вопрос в равной степени относится и к самому tensorflow.
Вы пишите что
В TensorFlowKit я постарался максимально повторить python подходы и интерфейс, чтобы в дальнейшем можно было пользоваться общей документацией.

Соответственно меня и интересует есть ли в вашей библиотеке аналог tf.summary.tensor_summary, пробовали ли вы им пользоваться и есть ли там какие-то нюансы?
Да, в бибилиотеке TensorFlowKit (автором которой являюсь я), реализован аналог Python API (tf.summary.tensor_summary) класс Summary. Об этом статья и написана.
У меня складывается впечатление, что Вы не владеете темой TensorFlow in other languages. Советюую ознакомится с этой статьей.

А у вас получалось сохранять для tensorboard какие-нибудь данные через этот метод? Дело в том что теже .scalar .histogram работают отлично и отображаются через tensorboard а вот с tensor_summary у меня не получилось вывести данные. Если вас не затруднит можете показать пример?
Я пробовал на python:
train_writer = tf.summary.FileWriter(a.log_dir, sess.graph)
tf.summary.scalar('cross_entropy', cross_entropy)
tf.summary.tensor_summary('outputs', y_s)
tf.summary.tensor_summary('expected', y_)
merged = tf.summary.merge_all()
        ....
summary, _cross_entropy, _y_s = sess.run([merged, cross_entropy, y_s], feed_dict={x: x_validation_matrix, y_: y_validation_matrix})
train_writer.add_summary(summary, chunk_num)


При этом cross_entropy отображается также как и у вас — в виде графика, а вот тензоры я нигде не вижу.
Скорее всего, Вы имеете в виду Histogram:

tf.summary.histogram('histogram', var)


Но это «свернутое» отображение в виде распределения:
The TensorBoard Histogram Dashboard displays how the distribution of some Tensor in your TensorFlow graph has changed over time. It does this by showing many histograms visualizations of your tensor at different points in time.


Так, что будьте внимательны.
Что непосредственно вы хотите видеть, как это должно выглядеть?
У вас есть тенсор n*m (скорее всего вектор, n*1). Он изменяется во времени.
В TensodBoard нет представления для такой конструкции. Можно конечно поиграться с image. Но скорее всего ваши данные нельзя представить в виде image.

В идеале что — то такое должно быть.
image
Но такого нет.

Нет, я просто хочу сохранить тензор с данными (также как мы, например, сохраняем промежуточные изображения) чтобы потом через tensorboard посмотреть этот тензор просто в виде вектора/матрицы и т.п.
Я допускаю что я мог просто не так понять предназначение этого метода. Думал, может вы сталкивались и знаете зачем он нужен и как правильно пользоваться.

Сам summary это только контейнер для SummaryValue.

# То есть Вам надо создать value:
tf.summary.scalar("Reward", episode_reward)
tf.summary.scalar("Reward2", episode_reward2)

# Смержить все Summary в один Output
summary_op = tf.summary.merge_all()

# Добавить summary на "просчет" в сессию.
summary_str = session.run(summary_op)

# Передать результат в контроллер которые сохранит в файл.
...
writer = writer_summary(summary_dir + "/tmp/", session.graph)
writer.add_summary(summary_str, float(T))
Sign up to leave a comment.

Articles