欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談TensorFlow之稀疏張量表示

 更新時間:2020年06月30日 15:20:23   作者:Jancy1072  
這篇文章主要介紹了淺談TensorFlow之稀疏張量表示,具有很好的參考就價值,希望對大家有所幫助。一起跟隨小編過來看看吧

對于多維的稀疏數(shù)據(jù),TensorFlow 支持 SparseTensor 表示。

官方文檔地址:https://tensorflow.google.cn/api_guides/python/sparse_ops

構(gòu)造稀疏張量

SparseTensor(indices, values, dense_shape)

indices是一個維度為(n, ndims)的2-D int64張量,指定非零元素的位置。比如indices=[[1,3], [2,4]]表示[1,3]和[2,4]位置的元素為非零元素。n表示非零元素的個數(shù),ndims表示構(gòu)造的稀疏張量的維數(shù)。

values是一個維度為(N)的1-D張量,對應(yīng)indices所指位置的元素值。

dense_shape是一個維度為(ndims)的1-D張量,代表稀疏張量的維度。

tf.SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
>>
[[1, 0, 0, 0]
 [0, 0, 2, 0]
 [0, 0, 0, 0]]

轉(zhuǎn)換

將稀疏張量轉(zhuǎn)為普通矩陣。

tf.sparse_to_dense(
sparse_indices,
output_shape,
sparse_values,
default_value=0,
validate_indices=True,
name=None
)

sparse_indices是那些非零元素的位置。

sparse_indices是實數(shù),該矩陣為一維矩陣,指定一維矩陣的某一個元素位置

sparse_indices是向量,該矩陣為一維矩陣,指定一維矩陣的多個元素

sparse_indices是二維矩陣,該矩陣為多維矩陣,指定多維矩陣的多個元素。

output_shape是矩陣的維度。

sparse_value是對應(yīng)sparse_indices所指位置的元素值。

default_value是未指定元素的默認值,一般為0。

import tensorflow as tf 

mysparse_indices = tf.constant(5)
mymatrix = tf.sparse_to_dense(mysparse_indices, [11], 10)
with tf.Session() as sess:
  result = sess.run(mymatrix)
  print(result)

//[0 0 0 0 0 10 0 0 0 0 0]

SparseTensor和SparseTensorValue

兩者的參數(shù)相同。

在計算圖中定義稀疏張量時,使用SparseTensor;在feed數(shù)據(jù)時使用SparseTensorValue。

補充知識:徹底搞懂tensorflow里的張量(tensor)

1.引言

學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的時候,最重要的就是搞清楚網(wǎng)絡(luò)各層的神經(jīng)元輸入輸出的數(shù)據(jù)結(jié)構(gòu)(即張量)。如果僅用線性代數(shù)所學(xué)的矩陣,向量來理解張量,一定會搞得一頭霧水。因此很有必要搞清楚張量是什么東西。

首先明確:張量最主要的兩個參數(shù): rank(階,或維數(shù))、shape(形狀)

2.什么是張量

下圖是張量的直觀的示意:張量是標量、向量、矩陣的集合和推廣。

3.什么是rank

rank 數(shù)學(xué)實例 Python 例子
0 純數(shù)字(只有大?。?/td> s=352
1 向量(1個基本向量) v = [1.1, 2.2, 3.3]
2 矩陣(兩個基本向量) m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3 數(shù)據(jù)立體(3個基本向量) t = [ [[2], [4], [6]] , [[8], [10], [12]] , [[14], [16], [18]] ]
n n個基本向量

可以發(fā)現(xiàn):可以數(shù)括號[ ]的層數(shù)來確定張量的維數(shù)(階)

什么是基本向量

基本向量(basis vector):幾個basis vector就是從幾個方面來描述一組數(shù)據(jù)。

舉例說明:

一維張量:概念和向量完全一樣。圖中的白線就是一個向量,當然了,在三維空間向量有三個分向量(分別是x方向、y方向、z方向)

二維張量:對下面這個長方形施加一個力,怎么來描述?

我們把可以把這個長方形就xoy、xoz、yoz三個平面截下來,之后在每一個平面上再分析受力情況。

兩個basis vector出來了:一個用來描述截面方向(這是一個三維向量);另一個用來描述此截面的受力情況(當然這也是一個三維向量)

那么我們可以用作用在yoz平面(此平面的法向量是x軸單位向量),受力的x軸分量用Pxx來表示,以此推廣到含有9個元素的矩陣,這就是一個2維張量。

換句話來解釋:在一個三維空間,我們從2個基本向量來描述一個東西,那么這個張量所含有的元素個數(shù)應(yīng)該是3的2次方等于9個。每個元素能得到2個基本向量的注釋。這就是一個2維的張量

三維張量:

繼續(xù)推廣,每個元素有三個基本向量注釋。三維的張量形狀就像是疊起來的矩陣。

最后品一品這句話

4.什么是shape

shape指明每一層有多少個元素。

比如[2,3,4]是指第一層2個元素,第二層3個元素,第三層4個元素,通過這個我們就可以知道這個張量一共有2 × 3 × 4=24 個元素。而且它有3層,因此可以知道這個張量的rank=3

注意:讀取元素,從外括號往內(nèi)括號讀

下面這個代碼也能說明問題。

import tensorflow as tf
# 定義了一個張量,有6個元素,設(shè)置他的形狀是[2.3]
a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2,3])
with tf.Session() as session:
  print(session.run(a))

打印的結(jié)果是

[[1 2 3] [4 5 6]]

以上這篇淺談TensorFlow之稀疏張量表示就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python deque模塊簡單使用代碼實例

    python deque模塊簡單使用代碼實例

    這篇文章主要介紹了python deque模塊簡單使用代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • python-tkinter之按鈕的使用,開關(guān)方法

    python-tkinter之按鈕的使用,開關(guān)方法

    今天小編就為大家分享一篇python-tkinter之按鈕的使用,開關(guān)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python基礎(chǔ)詳解之列表復(fù)制

    Python基礎(chǔ)詳解之列表復(fù)制

    這篇文章主要介紹了Python基礎(chǔ)詳解之列表復(fù)制,文中有非常詳細的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Django跨域請求CSRF的方法示例

    Django跨域請求CSRF的方法示例

    這篇文章主要介紹了Django跨域請求CSRF的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Python字典取值全攻略之高效、簡潔地獲取字典值的多種技巧

    Python字典取值全攻略之高效、簡潔地獲取字典值的多種技巧

    這篇文章主要給大家介紹了關(guān)于Python字典取值全攻略之高效、簡潔地獲取字典值的多種技巧,dictionary(字典)是除列表以外Python之中最靈活的數(shù)據(jù)類型,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • python遍歷目錄的方法小結(jié)

    python遍歷目錄的方法小結(jié)

    這篇文章主要介紹了python遍歷目錄的方法,總結(jié)分析了Python常用的兩種目錄遍歷技巧,需要的朋友可以參考下
    2016-04-04
  • Face++ API實現(xiàn)手勢識別系統(tǒng)設(shè)計

    Face++ API實現(xiàn)手勢識別系統(tǒng)設(shè)計

    這篇文章主要為大家詳細介紹了Face++ API實現(xiàn)手勢識別系統(tǒng)設(shè)計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python集合set()使用的方法詳解

    Python集合set()使用的方法詳解

    這篇文章主要為大家詳細介紹了Python集合set()使用的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • django filter過濾器實現(xiàn)顯示某個類型指定字段不同值方式

    django filter過濾器實現(xiàn)顯示某個類型指定字段不同值方式

    這篇文章主要介紹了django filter過濾器實現(xiàn)顯示某個類型指定字段不同值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python 畫函數(shù)曲線示例

    python 畫函數(shù)曲線示例

    今天小編就為大家分享一篇python 畫函數(shù)曲線示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論