你看到這個錯誤是因為SparseTensor不是一個真正的張量,它是一個包含3個密集張量的元張量。在
嘗試在SparsetSensor上使用print(),您將看到內部詳細信息:indices=Tensor(…), values=Tensor(…), dense_shape=Tensor(…))
你可以用tf.打印. 例如,tf.打印(my峈疏_張量值,[我的稀疏_張量值])會成功的。在
SparseTensor文檔描述了內部數據結構:
python中print換行?TensorFlow將稀疏張量表示為三個獨立的密集張量:索引、值和密集形狀。在Python中,為了便于使用,這三個張量被收集到一個SparseTensor類中。如果您有單獨的索引、值和密集的形狀張量,請在傳遞給下面的ops之前將它們包裝在SparseTensor對象中。在
具體而言,稀疏張量SparseTensor(索引、值、稠密形狀)包含以下組件,其中N和ndims分別是SparseTensor中的值的數量和維數的數量:
索引:密集型的二維int64張量[N,ndims],指定稀疏張量中包含非零值的元素的索引(元素為零索引)。例如,index=[[1,3],[2,4]]指定索引為[1,3]和[2,4]的元素具有非零值。在
值:任何類型的1-D張量,密集形狀[N],它提供索引中每個元素的值。例如,給定索引=[[1,3],[2,4]],參數值=[18,3.6]指定稀疏張量的元素[1,3]的值為18,張量的元素[2,4]的值為3.6。在
密集型:密集型的一維int64張量[ndims],它指定稀疏張量的密集型。獲取一個列表,該列表指示每個維度中的元素數。例如,dense_-shape=[3,6]指定二維3x6張量,densite_-shape=[2,3,4]指定三維2x3x4張量,dense_-shape=[9]指定包含9個元素的一維張量。在
在python中怎么建立列表,對應的稠密張量滿足:
^{pr2}$
按照慣例,索引應該按行的主要順序(或元組索引的等效詞典順序[i])排序。在構造SparseTensor對象時,這并不是強制執行的,但是大多數操作都假定正確的順序。如果稀疏張量st的排序錯誤,可以通過調用tf.sparse_重新排序(st)。在
示例:稀疏張量SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
表示稠密張量:[[1, 0, 0, 0]
python tensorflow。[0, 0, 2, 0]
[0, 0, 0, 0]]
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态