为什么在python的类中用print 输出不了值?
class GTERFE():
def __init__(self, hidden_dims, lambda_):
self.lambda_ = lambda_
self.n_layers = len(hidden_dims) -1
print('self.n_layers',self.n_layers)
self.W, self.v = self.define_weights(hidden_dims)
self.C = {}
def __call__(self, A, X, R, S):
print('A',A)
print('X',X )
print('R',R )
print('S',S )
H = X
for layer in range(self.n_layers):
print('print_layer',layer)
H = self.__encoder(A, H, layer)
print('H',H )
A SparseTensor(indices=Tensor("Placeholder_8:0", shape=(None, None), dtype=int64), values=Tensor("Placeholder_7:0", shape=(None,), dtype=float32), dense_shape=Tensor("Placeholder_6:0", shape=(None,), dtype=int64))
X Tensor("Placeholder_9:0", dtype=float32)
R Tensor("Placeholder_11:0", dtype=int64)
S Tensor("Placeholder_10:0", dtype=int64)
sess = tf.Session()
print "value of A is : "
print sess.run(A)
输出 def call(self, A, X, R, S): 这个函数里面的A,X,R,S,H的值,
你现在不是已经打印了吗
问题是AXRS不是简单类型,它里面一大堆东西,你直接打印就会给你打印出这东西来
你要先弄清楚你到底要打印这个类型里的什么,不存在打印全部的选项
除非你自己实现__str__方法
已经输出了啊
那些就是a x r s本身的内容,不是报错内容,只不过这些内容有点复杂
print(dir(X))
查看X对象有哪些属性值自己查看
这个是一已经打印出来了,除非你要的结果不是这样,然后调用其它类型的函数值
看起来已经打印了