I've been reading the documentation on core graph structures and it seems there is a disagreement with what TensorFlow actually does and the docs (unless I have a misunderstanding, which I assume I do).
The documentation says there are Operation objects and Tensor objects. It gives examples of such and thus I tried creating some and asking python what types they are. First lets do a constant:
c = tf.constant(1.0)
print c #Tensor("Const_1:0", shape=(), dtype=float32)
print type(c) #<class 'tensorflow.python.framework.ops.Tensor'>
it says its a Tensor. Great! Makes sense and it even gives me information about its contents.
I did the same experiment with what I expected to be an operation:
W = tf.Variable(tf.truncated_normal([784, 10], mean=0.0, stddev=0.1))
b = tf.Variable(tf.constant(0.1, shape=[10]))
Wx = tf.matmul(x, W)
print Wx #Tensor("MatMul:0", shape=(?, 10), dtype=float32)
print type(Wx) #<class 'tensorflow.python.framework.ops.Tensor'>
However, as you can see, Tensor flow said that both Wx and c are the same type. Does this mean that there are no operation objects or am I doing something wrong?