Единственное отличие от обычного сеанса заключается в том, что InteractiveSession устанавливает себя как сеанс по умолчанию для построения. Методы Tensor.eval() и Operation.run() будут использовать этот сеанс для запуска ops.
Это позволяет использовать интерактивный контекст, например shell, поскольку он избегает необходимости передавать явный объект Session для запуска op:
sess = tf.InteractiveSession()
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# We can just use 'c.eval()' without passing 'sess'
print(c.eval())
sess.close()
Также можно сказать, что InteractiveSession поддерживает меньшее количество ввода, так как позволяет запускать переменные без необходимости постоянно ссылаться на объект сеанса.
Ответ 2
Единственное различие между Session и InteractiveSession заключается в том, что InteractiveSession делает себя сеансом по умолчанию, чтобы вы могли вызывать run() или eval() без явного вызова сеанса.
Это может быть полезно, если вы экспериментируете с TF в оболочке python или в ноутбуках Jupyter, потому что это позволяет избежать передачи явного объекта Session для выполнения операций.
Ответ 3
Вместо вышеупомянутых различий - самое важное отличие заключается в session.run(), мы можем получить значения нескольких тензоров за один шаг.