本文整理汇总了Python中tensorflow.python.ops.session_ops.get_session_handle函数的典型用法代码示例。如果您正苦于以下问题:Python get_session_handle函数的具体用法?Python get_session_handle怎么用?Python get_session_handle使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_session_handle函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testFeedTwoHandlesDirectly
def testFeedTwoHandlesDirectly(self):
with self.test_session() as sess:
a = constant_op.constant(10.0)
b = constant_op.constant(5.0)
c = math_ops.multiply(a, b)
d = math_ops.div(a, b)
e = math_ops.subtract(c, d)
h_c = sess.run(session_ops.get_session_handle(c))
h_d = sess.run(session_ops.get_session_handle(d))
self.assertAllClose(48.0, sess.run(e, feed_dict={c: h_c, d: h_d}))
self.assertAllClose(-48.0, sess.run(e, feed_dict={c: h_d, d: h_c}))
示例2: testHandleForLoop
def testHandleForLoop(self):
with self.test_session() as sess:
# Initialize a handle.
a = constant_op.constant(0)
h = session_ops.get_session_handle(a)
h = sess.run(h)
# Do some computation.
f, x = session_ops.get_session_tensor(h.handle, dtypes.int32)
# Must define the loop body outside the loop.
h_x = session_ops.get_session_handle(math_ops.add(x, 1))
for _ in range(100):
# This exercises garbage collection.
h = sess.run(h_x, feed_dict={f: h.handle})
self.assertEqual(100, h.eval())
示例3: testDirectHandleFeedOverlappingWithFetches
def testDirectHandleFeedOverlappingWithFetches(self):
with self.cached_session() as sess:
a = constant_op.constant(10.0)
b = constant_op.constant(5.0)
c = math_ops.multiply(a, b)
h_c = sess.run(session_ops.get_session_handle(c))
d = array_ops.identity(c)
c_val = sess.run(c, feed_dict={c: h_c})
self.assertAllClose(50.0, c_val)
d_val = sess.run(d, feed_dict={c: h_c})
self.assertAllClose(50.0, d_val)
c_val, d_val = sess.run([c, d], feed_dict={c: h_c, d: 60.0})
self.assertAllClose(50.0, c_val)
self.assertAllClose(60.0, d_val)
c_val, d_val = sess.run([c, d], feed_dict={c: 60.0, d: h_c})
self.assertAllClose(60.0, c_val)
self.assertAllClose(50.0, d_val)
c_val, d_val = sess.run([c, d], feed_dict={c: h_c, d: h_c})
self.assertAllClose(50.0, c_val)
self.assertAllClose(50.0, d_val)
示例4: numpy_to_handle
def numpy_to_handle(self, array):
"""Upload numpy array into TensorFlow runtime.
Args:
array: numpy array to convert to TensorHandle
Returns:
TensorHandle corresponding to given numpy array.
"""
tf_dtype = dtypes.as_dtype(array.dtype)
current_device = get_current_device_string(self.g)
current_device_sanitized = current_device.replace(":", "")
key = ("numpy_to_handle", tf_dtype.name, current_device)
if key in self.op_cache:
holder, handle_op = self.op_cache[key]
else:
if self.PRINT_CACHE_MISSES:
print("Imperative cache miss for %s"%(str(key)))
op_prefix = "numpy_to_handle.%s.%s" % (tf_dtype.name,
current_device_sanitized)
with self.g.as_default():
holder = array_ops.placeholder(dtype=array.dtype,
name=op_prefix+".holder")
handle_op = session_ops.get_session_handle(holder,
name=op_prefix+".handle")
self.op_cache[key] = (holder, handle_op)
handle = self.run(handle_op, feed_dict={holder: array})
return handle
示例5: testHandleDelete
def testHandleDelete(self):
with self.test_session() as sess:
# Return a handle.
a = constant_op.constant(10)
b = constant_op.constant(5)
c = math_ops.multiply(a, b)
h = session_ops.get_session_handle(c)
sess.run(h).delete()
示例6: tensor_to_itensor
def tensor_to_itensor(self, tensor):
op_prefix = "tensor_to_itensor"
with self.g.as_default():
handle_op = session_ops.get_session_handle(tensor,
name=op_prefix+".handle")
handle = self.run(handle_op)
return ITensor(self, handle)
示例7: testMultiDevices
def testMultiDevices(self):
with self.test_session() as sess:
with ops.device(test.gpu_device_name()):
a = constant_op.constant(1.0)
a_handle = sess.run(session_ops.get_session_handle(a))
with ops.device("/cpu:0"):
b = constant_op.constant(2.0)
b_handle = sess.run(session_ops.get_session_handle(b))
a_p, a_t = session_ops.get_session_tensor(a_handle.handle, dtypes.float32)
b_p, b_t = session_ops.get_session_tensor(b_handle.handle, dtypes.float32)
c = math_ops.add(a_t, b_t)
c_handle = sess.run(
session_ops.get_session_handle(c),
feed_dict={a_p: a_handle.handle,
b_p: b_handle.handle})
self.assertEqual(3.0, c_handle.eval())
示例8: testHandleWhileLoop
def testHandleWhileLoop(self):
with self.test_session() as sess:
# Initialize a handle.
a = constant_op.constant(0)
h = session_ops.get_session_handle(a)
h = sess.run(h)
# Do some computation.
f, x = session_ops.get_session_tensor(h.handle, dtypes.int32)
b = constant_op.constant(100)
p = math_ops.less(x, b)
# Must define the loop body outside the loop.
h_x = session_ops.get_session_handle(math_ops.add(x, 1))
while True:
rp, h = sess.run([p, h_x], feed_dict={f: h.handle})
if not rp:
break
self.assertEqual(101, h.eval())
示例9: make_function
def make_function(self, inputs, outputs, name=""):
"""Create callable that accept argument ITensors in the same order as
inputs argument, and produces tuple of outputs which are ITensors
corresponding to outputs.
Example usage:
x0 = env.tf.ones() # create ITensor
x = env.make_input(x0) # create Tensor
y = env.make_input(x0) # create Tensor
z1 = tf.add(x, y) # operate on Tensors
z2 = tf.sub(x, y) # operate on Tensors
f = env.make_function(inputs=[x, y], outputs=[z1, z2])
print(f(x0, x0*5)) # feed ITensors, get result back as ITensors
"""
input_holders = []
for input_ in inputs:
input_holders.append(self.input_dict[input_])
output_handle_ops = []
if is_list_or_tuple(outputs):
for (i,tensor) in enumerate(outputs):
op_name = "custom_function_%s.output.%s"%(name, i)
output_handle_ops.append(session_ops.get_session_handle(tensor,
op_name))
# special-case single output
else:
op_name = "custom_function_%s.output"%(name)
output_handle_ops = session_ops.get_session_handle(outputs, op_name)
def func(*args):
feed_dict = {}
for (i, arg) in enumerate(args):
feed_dict[input_holders[i]] = arg.tf_handle
tensor_handles = self.sess.run(output_handle_ops, feed_dict=feed_dict)
if is_list_or_tuple(tensor_handles):
return [ITensor(self, t) for t in tensor_handles]
else:
return ITensor(self, tensor_handles)
return func
示例10: testFeedOneHandleDirectly
def testFeedOneHandleDirectly(self):
with self.test_session() as sess:
a = constant_op.constant(10.0)
b = constant_op.constant(5.0)
c = math_ops.multiply(a, b)
d = math_ops.multiply(c, c)
h_c = sess.run(session_ops.get_session_handle(c))
self.assertAllClose(2500.0, sess.run(d, feed_dict={c: h_c}))
示例11: testHandlePlacement
def testHandlePlacement(self):
with self.test_session() as sess:
a = constant_op.constant(1.0)
a_handle_op = session_ops.get_session_handle(a)
b = constant_op.constant(2.0)
b_handle_op = session_ops.get_session_handle(b)
a_handle = sess.run(a_handle_op)
b_handle = sess.run(b_handle_op)
a_p, a_t = session_ops.get_session_tensor(a_handle.handle, dtypes.float32)
b_p, b_t = session_ops.get_session_tensor(b_handle.handle, dtypes.float32)
c = math_ops.add(a_t, b_t)
c_handle = sess.run(
session_ops.get_session_handle(c),
feed_dict={a_p: a_handle.handle,
b_p: b_handle.handle})
self.assertEqual(3.0, c_handle.eval())
示例12: testHandleEval
def testHandleEval(self):
with self.test_session() as sess:
# Return a handle.
a = constant_op.constant(10)
b = constant_op.constant(5)
c = math_ops.multiply(a, b)
h = session_ops.get_session_handle(c)
h = sess.run(h)
# Get the tensor from its handle.
self.assertEqual(50, h.eval())
示例13: testHandleMover
def testHandleMover(self):
with self.test_session() as sess:
# Return a handle.
a = constant_op.constant(10)
b = constant_op.constant(5)
c = math_ops.multiply(a, b)
h = session_ops.get_session_handle(c)
h = sess.run(h)
# Feed a tensor handle.
f, x = session_ops.get_session_tensor(h.handle, dtypes.int32)
y = math_ops.multiply(x, 10)
self.assertEqual(500, sess.run(y, feed_dict={f: h.handle}))
# Feed another tensor handle.
with ops.device(test.gpu_device_name()):
a = constant_op.constant(10)
h = session_ops.get_session_handle(a)
h = sess.run(h)
self.assertEqual(100, sess.run(y, feed_dict={f: h.handle}))
示例14: testHandleAndValue
def testHandleAndValue(self):
with self.test_session() as sess:
# Return a handle and a value.
a = constant_op.constant(10)
b = constant_op.constant(5)
c = math_ops.multiply(a, b)
h = session_ops.get_session_handle(c)
v = math_ops.multiply(a, c)
h, v = sess.run([h, v])
self.assertEqual(50, h.eval())
self.assertEqual(500, v)
示例15: testHandleBasic
def testHandleBasic(self):
with self.test_session() as sess:
# Return a handle.
a = constant_op.constant(10)
b = constant_op.constant(5)
c = math_ops.multiply(a, b)
h = session_ops.get_session_handle(c)
h = sess.run(h)
# Feed a tensor handle.
f, x = session_ops.get_session_tensor(h.handle, dtypes.int32)
y = math_ops.multiply(x, 10)
self.assertEqual(500, sess.run(y, feed_dict={f: h.handle}))