Не открывайте сеанс при каждом вызове функции, что может быть очень неэффективно, если функция вызывается много раз.
Если по какой-то причине вы не хотите открывать менеджер контекста, тогдавам нужно открыть сессию самостоятельно и оставить ее открытой.Возможно, это немного проще для пользователя, но совместное использование tf.Session
с другими объектами или библиотеками может быть более сложным.Также попытка скрыть тот факт, что вы используете tenorflow, может быть немного тщетной, поскольку она потенциально несовместима с другими библиотеками, также использующими графический процессор.(Кроме того, пользователю потребуется установить tenorflow для использования библиотеки, он / она определенно узнает, что вы ее используете).
Поэтому я бы не стал пытаться инкапсулировать вещи, которые могут 't или не должен (по моему мнению) и использовать диспетчер контекста для tf.Session
(может быть, даже используя непосредственно tf.Session
, если не возражаю против раскрытия тензорного потока, в противном случае оборачиваю его в моем собственном диспетчере контекста).