def print_tf_obj(s, obj):
np.set_printoptions(precision=3)
print(s + " = " + str(obj))
print_tf_obj("boxes ", boxes)
print_tf_obj("scores ", scores)
print_tf_obj("classes ", classes)
https://www.tensorflow.org/versions/r0.12/resources/faq
What is the difference between
If
https://www.hackingnote.com/en/tensorflow/overview/
https://stackoverflow.com/questions/2891790/how-to-pretty-printing-a-numpy-array-without-scientific-notation-and-with-given
To apply print options locally, you could use a contextmanager:
To prevent zeros from being stripped from the end of floats:
np.set_printoptions(precision=3)
print(s + " = " + str(obj))
print_tf_obj("boxes ", boxes)
print_tf_obj("scores ", scores)
print_tf_obj("classes ", classes)
https://www.tensorflow.org/versions/r0.12/resources/faq
What is the difference between Session.run()
and Tensor.eval()
?
If t
is a Tensor
object,
t.eval()
is shorthand for
sess.run(t)
(where sess
is the
current default session. The
two following snippets of code are equivalent:# Using `Session.run()`.
sess = tf.Session()
c = tf.constant(5.0)
print sess.run(c)
# Using `Tensor.eval()`.
c = tf.constant(5.0)
with tf.Session():
print c.eval()
In the second example, the session acts as a
context manager,
which has the effect of installing it as the default session for the lifetime of
the with
block. The context manager approach can lead to more concise code for
simple use cases (like unit tests); if your code deals with multiple graphs and
sessions, it may be more straightforward to make explicit calls to
Session.run()
.https://www.hackingnote.com/en/tensorflow/overview/
https://stackoverflow.com/questions/2891790/how-to-pretty-printing-a-numpy-array-without-scientific-notation-and-with-given
import numpy as np
x=np.random.random(10)
print(x)
# [ 0.07837821 0.48002108 0.41274116 0.82993414 0.77610352 0.1023732
# 0.51303098 0.4617183 0.33487207 0.71162095]
np.set_printoptions(precision=3)
print(x)
# [ 0.078 0.48 0.413 0.83 0.776 0.102 0.513 0.462 0.335 0.712]
And suppress
suppresses the use of scientific notation for small numbers:y=np.array([1.5e-10,1.5,1500])
print(y)
# [ 1.500e-10 1.500e+00 1.500e+03]
np.set_printoptions(suppress=True)
print(y)
# [ 0. 1.5 1500. ]
See the docs for set_printoptions for other options.To apply print options locally, you could use a contextmanager:
import numpy as np
import contextlib
@contextlib.contextmanager
def printoptions(*args, **kwargs):
original = np.get_printoptions()
np.set_printoptions(*args, **kwargs)
try:
yield
finally:
np.set_printoptions(**original)
For example, inside the with-suite
precision=3
and suppress=True
are set:x = np.random.random(10)
with printoptions(precision=3, suppress=True):
print(x)
# [ 0.073 0.461 0.689 0.754 0.624 0.901 0.049 0.582 0.557 0.348]
But outside the with-suite
the print options are back to default settings:print(x)
# [ 0.07334334 0.46132615 0.68935231 0.75379645 0.62424021 0.90115836
# 0.04879837 0.58207504 0.55694118 0.34768638]
To prevent zeros from being stripped from the end of floats:
np.set_printoptions
now has a formatter
parameter which allows you to specify a format function for each type.np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print(x)
which prints[ 0.078 0.480 0.413 0.830 0.776 0.102 0.513 0.462 0.335 0.712]
instead of [ 0.078 0.48 0.413 0.83 0.776 0.102 0.513 0.462 0.335 0.712]
No comments:
Post a Comment