我刚刚注意到这个奇怪的张量:
Out[124]: <tf.Tensor: id=7672038, shape=(1,), dtype=uint8, numpy=array([1], dtype=uint8)>
它有两次dtype。通常,您无法做到这一点。例如,
tf.convert_to_tensor(np.array([1]))
Out[126]: <tf.Tensor: id=7672042, shape=(1,), dtype=int32, numpy=array([1])>
那是为什么,有什么区别?
我只是注意到了这一点:后者可以用作张量的索引,而前者则不能。它将引发此错误:
TypeError:仅整数,切片(
:
),省略号(...
),tf.newaxis (None
)和标量tf.int32 / tf.int64张量是有效索引,得到1
这是一个愚蠢的错误,导致它说“得到1”,而1是合法索引!因为它是一个大声喊叫的整数!参见上面的dtype。
答案 0 :(得分:0)
它没有两次dtype,第二次dtype用于numpy数组。