Node represents the whole operation (some inputs, an operation, and some outputs). The inputs and outputs are represented as Values, you can get them like so:
def some_fn(x):
	return x + x

some_input = torch.randn(2, 2)
my_traced_function = torch.jit.trace(some_fn, [some_input])
print(my_traced_function.graph)

for node in my_traced_function.graph.nodes():
    for node_input in node.inputs():
        if isinstance(node_input.type(), torch._C.TensorType):
            print(node_input.type().scalarType())

You can read more about the internal representations here 33.