當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.test.TestCase.cached_session用法及代碼示例


用法

@contextlib.contextmanager
cached_session(
    graph=None, config=None, use_gpu=True, force_gpu=False
)

參數

  • graph 在返回的會話期間使用的可選圖表。
  • config 用於配置會話的可選 config_pb2.ConfigProto。
  • use_gpu 如果為 True,請嘗試在 GPU 上運行盡可能多的操作。
  • force_gpu 如果為 True,則將所有操作固定到 /device:GPU:0

生成(Yield)

  • 一個 Session 對象,應該用作上下文管理器來圍繞測試用例中的圖形構建和執行代碼。

返回用於執行測試的 TensorFlow 會話。

此方法的行為與 self 不同。session():出於性能原因,cached_session 默認情況下將在同一測試中重用同一會話。此函數返回的會話隻會在測試結束時關閉(在 TearDown 函數中)。

使用 use_gpuforce_gpu 選項來控製操作的運行位置。如果 force_gpu 為 True,則所有操作都固定到 /device:GPU:0 。否則,如果 use_gpu 為 True,TensorFlow 會嘗試在 GPU 上運行盡可能多的操作。如果 force_gpu and use_gpu 都為 False,則所有操作都固定到 CPU。

例子:

class MyOperatorTest(test_util.TensorFlowTestCase):
  def testMyOperator(self):
    with self.cached_session() as sess:
      valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
      result = MyOperator(valid_input).eval()
      self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
      invalid_input = [-1.0, 2.0, 7.0]
      with self.assertRaisesOpError("negative input not supported"):
        MyOperator(invalid_input).eval()

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.test.TestCase.cached_session。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。