我是TensorFlow的新手,刚刚经历了热切的执行教程,并遇到了tf.decode_csv函数。不知道它,我阅读了文档。 https://www.tensorflow.org/api_docs/python/tf/decode_csv
我不太了解。
文档说“记录:字符串类型的张量”。 所以,我的问题是:什么才是“张量”?
我尝试了以下代码:
dec_res = tf.decode_csv('0.1,0.2,0.3', [[0.0], [0.0], [0.0]])
print(dec_res, type(dec_res))
l = [[1,2,3],[4,5,6],[7,8,9]]
r = tf.reshape(l, [9,-1])
print(l, type(l))
print(r, type(r))
因此列表dec_res
包含tf.tensor对象。在我看来,这是合理的。但是根据文档,普通字符串还是“张量”吗?
然后,我使用tf.reshape
函数尝试了其他操作。在文档https://www.tensorflow.org/api_docs/python/tf/reshape中,它表示“张量:张量”。因此,l
应该是张量。但是它不是tf.tensor
类型,而只是python list
类型。这很令人困惑。
然后文档说
返回:
张量。与张量具有相同的类型。
但是l
的类型为list
,其中r
的类型为tensorflow.python.framework.ops.Tensor
。所以类型不一样。
然后我认为TensorFlow非常慷慨,因为它是张量。所以我尝试了:
class car(object):
def __init__(self, color):
self.color = color
red_car = car('red')
#test_reshape = tf.reshape(red_car, [1, -1])
print(red_car.color) # to check, that red_car exists.
现在,注释中的行导致错误。
那么,有人可以帮助我找出什么是“张量”吗?
P.S .:我试图阅读文档中给出的tf.reshape
的源代码
在tensorflow / python / ops / gen_array_ops.py中定义。
但是该文件在Github存储库中不存在。有人知道怎么读吗?
答案 0 :(得分:3)
https://www.tensorflow.org/programmers_guide/tensors
顾名思义,TensorFlow是定义和运行的框架 张量的计算。张量是 向量和矩阵到更高的维度。在内部, TensorFlow将张量表示为基数的n维数组 数据类型。
您可以通过使用tf.convert_to_tensor函数从各种python类型构建tensorflow操作(如重塑)来观察commes:
https://www.tensorflow.org/api_docs/python/tf/convert_to_tensor
所有标准的Python op构造函数均将此函数应用于每个 他们的Tensor值输入,这允许那些操作接受numpy 除Tensor对象之外的数组,Python列表和标量