最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TensorFlow索引與切片的實現(xiàn)方法

 更新時間:2019年11月20日 14:40:40   作者:HUN ysy  
這篇文章主要介紹了TensorFlow索引與切片的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

索引與切片在Tensorflow中使用的頻率極其高,可以用來提取部分數(shù)據(jù)。

1.索引

在 TensorFlow 中,支持基本的[𝑖][𝑗]…標準索引方式,也支持通過逗號分隔索引號的索引方式。

假設創(chuàng)建四張大小為3*3的彩色圖片。

# 創(chuàng)建張量
x = tf.random.normal([4, 32, 32, 3])
# 提取出第一張圖片
x[0]

<tf.Tensor: id=253, shape=(32, 32, 3), dtype=float32, numpy=
array([[[ 3.16146165e-01, 1.88969020e-02, 1.38413876e-01],
    [ 4.89341050e-01, 2.75277281e+00, 7.39786148e-01],
    [-1.25965345e+00, -2.69633114e-01, -1.16465724e+00],
    ...,


# 提取出第一張圖片的第二行
x[0][1]

<tf.Tensor: id=261, shape=(32, 3), dtype=float32, numpy=
array([[ 7.4337220e-01, -1.0524833e+00, -2.6401659e-03],
    [ 5.3725803e-01, -9.5556659e-01, 4.9091709e-01],
    [-4.6934509e-01, 7.9289172e-03, -2.9179385e+00],
    [ 2.9324377e-01, 2.1451252e+00, -3.8849866e-01],
    [ 8.2027388e-01, -4.9701610e-01, -7.3374517e-02],
    ......

# 提取出第一張圖片的第二行第三列的像素
x[0][1][2]

<tf.Tensor: id=273, shape=(3,), dtype=float32, numpy=array([-0.4693451 , 0.00792892, -2.9179385 ], dtype=float32)>

# 提取出第一張圖片第二行第三列第二個用到(B通道)的顏色強度
x[0][1][2][2]

<tf.Tensor: id=289, shape=(), dtype=float32, numpy=-2.9179385>

當張量的維度數(shù)較高時,使用[𝑖][𝑗]. . .[𝑘]的方式書寫不方便,可以采用[𝑖,𝑗, … , 𝑘]的方式索引,它們是等價的。

x[1, 9, 2] == x[1][9][2]

<tf.Tensor: id=306, shape=(3,), dtype=bool, numpy=array([ True, True, True])>

2.切片

通過𝑠𝑡𝑎𝑟𝑡: 𝑒𝑛𝑑: 𝑠𝑡𝑒𝑝切片方式可以方便地提取一段數(shù)據(jù),其中 start 為開始讀取位置的索引,end 為結束讀取位置的索引(不包含 end 位),step 為讀取步長。

還是以shape為[4, 32, 32, 3]的圖片張量為例。

# 創(chuàng)建張量
x = tf.random.normal([4, 32, 32, 3])
# 讀取第二張和第三張圖片
x[1:3]

<tf.Tensor: id=344, shape=(2, 32, 32, 3), dtype=float32, numpy=
array([[[[-3.4415385e-01, 5.8418065e-01, 1.8238322e-01],
     [ 5.3377771e-01, 5.8201426e-01, 1.2839563e+00],
     [-1.4592046e+00, -2.3443605e-01, -2.6524603e-01],
     ...,
     [-5.0662726e-01, 6.9743747e-01, -5.8803167e-02],
     [ 1.4200432e+00, -5.0182146e-01, 5.1661726e-02],
     [ 3.5610806e-02, -2.4781477e-01, 1.8222639e-01]],

    [[ 1.3892423e+00, 1.1985755e+00, -6.4732605e-01],
     [ 8.5562867e-01, 1.2758574e+00, 1.7331127e+00],
     [ 9.7743452e-02, -5.3990984e-01, 8.3400911e-01],
     ...,

 start: end: step切片方式有很多簡寫方式,其中 start、end、step 3 個參數(shù)可以根據(jù)需要選擇性地省略,全部省略時即::,表示從最開始讀取到最末尾,步長為 1,即不跳過任何元素。如 x[0,::]表示讀取第 1 張圖片的所有行,其中::表示在行維度上讀取所有行,它等于x[0]的寫法。

即x[0, ::]等價于x[0 ]。

為了更加簡潔,::可以簡寫成為單個冒號。

x[:, 0:28:2, 0:28:2, :]

<tf.Tensor: id=344, shape=(2, 32, 32, 3), dtype=float32, numpy=
array([[[[-3.4415385e-01, 5.8418065e-01, 1.8238322e-01],
     [ 5.3377771e-01, 5.8201426e-01, 1.2839563e+00],
     [-1.4592046e+00, -2.3443605e-01, -2.6524603e-01],
     ...,

上述表示取所有圖片,隔行采樣,隔列采樣,采集所有通道信息。相當于在圖片的高寬各放縮至原來的一半。

下面是一些常見的切片方式小結:

特別地,step可以為負數(shù)。例如:step = −1時,start: end: −1表示從 start 開始,逆序讀取至 end 結束(不包含 end),索引號𝑒𝑛𝑑 ≤ 𝑠𝑡𝑎𝑟𝑡。

x = tf.range(9)

# 逆序輸出
x[8:0:-1]
<tf.Tensor: id=31, shape=(8,), dtype=int32, numpy=array([8, 7, 6, 5, 4, 3, 2, 1])>

# 逆序取全部元素
x[::-1]
<tf.Tensor: id=35, shape=(9,), dtype=int32, numpy=array([8, 7, 6, 5, 4, 3, 2, 1, 0])>

# 逆序間隔采樣
x[::-2]
<tf.Tensor: id=39, shape=(5,), dtype=int32, numpy=array([8, 6, 4, 2, 0])>

當張量的維度數(shù)量較多時,不需要采樣的維度一般用單冒號:表示采樣所有元素。

x = tf.random.normal([4, 32, 32, 3])
# 提取所有圖片的G通道
x[:,:,:,1]

<tf.Tensor: id=59, shape=(4, 32, 32), dtype=float32, numpy=
array([[[ 0.5700944 , 0.58056635, 2.2198782 , ..., -0.8475847 ,
     0.49761978, 0.28784937],
    [-0.22224228, 0.77950406, -0.01802959, ..., 0.55532527,
     0.6826188 , 0.50668514],
    [-2.4160695 , -0.96219736, 0.62681717, ..., 1.0348777 ,

為了避免出現(xiàn)像𝑥[: , : , : ,1]這樣出現(xiàn)過多冒號的情況,可以使用⋯符號表示取多個維度上所有的數(shù)據(jù),其中維度的數(shù)量需根據(jù)規(guī)則自動推斷:當切片方式出現(xiàn)⋯符號時,⋯符號左邊的維度將自動對齊到最左邊,⋯符號右邊的維度將自動對齊到最右邊,此時系統(tǒng)再自動推斷⋯符號代表的維度數(shù)量。

# 創(chuàng)建四張大小為32*32的彩色圖片
x = tf.random.normal([4, 32, 32, 3])
# 讀取第一張和第二張圖片的G/B通道數(shù)據(jù)
x[0:2,...,1:]
# 讀取最后兩張圖片
x[2,...]
# 讀取所有圖片的R/G通道
x[...,:2]

掌握了張量的索引與切片之后,會讓我們的書寫更加快捷。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python逐行讀取文件內容的方法總結

    Python逐行讀取文件內容的方法總結

    在本篇文章里小編給大家整理的是關于Python四種逐行讀取文件內容的方法,有興趣的朋友們可以學習下。
    2020-02-02
  • 使用pytorch實現(xiàn)可視化中間層的結果

    使用pytorch實現(xiàn)可視化中間層的結果

    今天小編就為大家分享一篇使用pytorch實現(xiàn)可視化中間層的結果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python?matplotlib如何簡單繪制不同類型的表格

    Python?matplotlib如何簡單繪制不同類型的表格

    通過Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等,下面這篇文章主要給大家介紹了關于Python?matplotlib如何簡單繪制不同類型表格的相關資料,需要的朋友可以參考下
    2022-07-07
  • Django+uni-app實現(xiàn)數(shù)據(jù)通信中的請求跨域的示例代碼

    Django+uni-app實現(xiàn)數(shù)據(jù)通信中的請求跨域的示例代碼

    這篇文章主要介紹了Django+uni-app實現(xiàn)數(shù)據(jù)通信中的請求跨域的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • python中各種路徑設置的方法詳解

    python中各種路徑設置的方法詳解

    python程序想要在一個設備上去運行除了需要安裝python解釋器和相關依賴項之外,還需要將對應的文件路徑添加到環(huán)境變量path中才可以,下面這篇文章主要給大家介紹了關于python中各種路徑設置的相關資料,需要的朋友可以參考下
    2022-12-12
  • python獲取目錄下所有文件的方法

    python獲取目錄下所有文件的方法

    這篇文章主要介紹了python獲取目錄下所有文件的方法,實例分析了Python中os模塊下walk方法的使用技巧,需要的朋友可以參考下
    2015-06-06
  • python pycharm的安裝及其使用

    python pycharm的安裝及其使用

    這篇文章主要介紹了python pycharm的安裝及其使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • python中利用matplotlib讀取灰度圖的例子

    python中利用matplotlib讀取灰度圖的例子

    今天小編就為大家分享一篇python中利用matplotlib讀取灰度圖的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python根據(jù)url地址下載小文件的實例

    python根據(jù)url地址下載小文件的實例

    今天小編就為大家分享一篇python根據(jù)url地址下載小文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python實現(xiàn)http接口自動化測試的示例代碼

    Python實現(xiàn)http接口自動化測試的示例代碼

    這篇文章主要介紹了Python實現(xiàn)http接口自動化測試的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10

最新評論

搜索| 清河县| 宿松县| 永兴县| 资阳市| 南漳县| 上蔡县| 嫩江县| 临夏市| 宾阳县| 扬中市| 新乡市| 石渠县| 龙胜| 民县| 罗城| 北安市| 安阳县| 陇南市| 云霄县| 平陆县| 潜山县| 五河县| 盘锦市| 闵行区| 霍州市| 白河县| 盐津县| 邻水| 南阳市| 彩票| 甘谷县| 汶川县| 新乡市| 手游| 灵山县| 诸暨市| 西吉县| 西峡县| 宾川县| 吴桥县|