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

TensorFlow深度學(xué)習(xí)之實現(xiàn)合并與分割的示例代碼

 更新時間:2023年07月02日 10:57:51   作者:暢游星辰大海  
這篇文章主要為大家詳細介紹了TensorFlow中實現(xiàn)合并與分割的四位函數(shù)以及它們的用法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

寫在前面

本文主要介紹了如下四個函數(shù)的參數(shù)意義及其函數(shù)用法,如有不恰當?shù)牡胤?,還請不吝指正?。?!

  • tf.concat( )
  • tf.stack( )
  • tf.unstack( )
  • tf.split( )

一、tf.concat( )函數(shù)

( 1 )簡單介紹

tf.concat() 函數(shù)是 TensorFlow 中用于連接張量的函數(shù)。它可以將多個張量沿指定的軸連接在一起,形成一個新的張量。

tf.concat(values, axis)

  • values 是一個張量列表[tensor1, tensor2, tensor3, ...],表示需要連接的張量。
  • axis 是一個整數(shù),可正可負,表示連接軸的方向。

( 2 )學(xué)會使用

分別定義兩個二維,形狀 shape = (2, 3) 的張量,使它們在第一個維度上面拼接,

將第一個維度的中括號打開:

[ [1, 2, 3], [4, 5, 6] ] ——> [1, 2, 3], [4, 5, 6]

[ [7, 8, 9], [10, 11, 12] ] ——> [7, 8, 9], [10, 11, 12]

合并后中括號還原:

[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12] ——> [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12] ]

import tensorflow as tf
tensor1 = tf.constant([[1, 2, 3], [4, 5, 6]]) 
tensor2 = tf.constant([[7, 8, 9], [10, 11, 12]])
tensor = tf.concat([tensor1, tensor2], 0)
print(tensor.shape) # (4, 3)

如果將上面的兩個張量在第2個維度上面拼接,又該怎樣做呢?

在第二個維度的拼接,不干擾第一個維度的張量,

將第二個維度的中括號打開:

[ [1, 2, 3], [4, 5, 6] ] ——> [ 1, 2, 3, 4, 5, 6]

[ [7, 8, 9], [10, 11, 12] ] ——> [ 7, 8, 9, 10, 11, 12]

將1, 2, 3與7, 8, 9對應(yīng),將4, 5, 6與10, 11, 12對應(yīng)拼接,合并后中括號還原

[ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 10, 11, 12] ——> [ [ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 10, 11, 12] ]

再舉一個例子,還是這個三維的張量理解成【班級,學(xué)生,科目】,axis 分別對應(yīng)0, 1, 2,或-3, -2, -1

import tensorflow as tf
# 收集4個班級35名學(xué)生的8個科目的成績
tensor1 = tf.ones([4, 35, 8])
# 收集2個班級35名學(xué)生的8個科目的成績
tensor2 = tf.ones([2, 35, 8])
# 在班級維度上拼接張量,
tensor = tf.concat([tensor1, tensor2], axis=0)
print(tensor.shape)  # 輸出:(6, 35, 8)

理解方式和上面的方法相同,如果單看結(jié)果還是很簡單的

此函數(shù)操作后不產(chǎn)生新的維度,下面的stack()函數(shù)就會產(chǎn)生新的維度

二、tf.stack( )函數(shù)

( 1 )簡單介紹

tf.stack() 函數(shù)用于沿新的維度堆疊張量。這個新維度將用于堆疊其他張量。

tf.stack(values, axis=0,)

  • values: 是一個張量列表[tensor1, tensor2, tensor3, ...],表示需要連接的張量,它們將沿著新的維度堆疊在一起。這些張量應(yīng)該有相同的形狀。
  • axis: 一個整數(shù),可正可負,表示沿哪個維度堆疊張量。

( 2 )代碼示例

import tensorflow as tf
# 創(chuàng)建兩個形狀都為 [2, 3] 的張量
tensor1 = tf.constant([[1, 2, 3], [4, 5, 6]])
tensor2 = tf.constant([[7, 8, 9], [10, 11, 12]])
# 使用 tf.stack() 函數(shù)沿 axis = 0 將兩個張量堆疊在一起
stacked_tensor = tf.stack([tensor1, tensor2], axis=0)
print(stacked_tensor)
# 輸出
tf.Tensor(
[[[ 1  2  3]
  [ 4  5  6]]
 [[ 7  8  9]
  [10 11 12]]], shape=(2, 2, 3), dtype=int32)

三、tf.unstack( )函數(shù)

tf.unstack() 用于將輸入的 Tensor 張量沿著指定的軸(axis)進行分解。將指定維度全部拆分,該維度的shape是多少就拆分多少個。

tf.unstack(value, axis)

  • value: 一個多維 Tensor 張量。
  • axis: 一個整數(shù),表示要將輸入 Tensor 張量沿哪個軸(axis)進行分解。如果 axis 的值為負數(shù),則從反向軸(倒數(shù)軸)開始分解。如果同時提供了 axis 和 num 參數(shù),則優(yōu)先使用 axis 參數(shù)。

( 2 )重點理解

tf.unstack 的作用是將輸入的 Tensor 張量沿著指定的軸(axis)分解成多個 Tensor 張量。例如,如果輸入的 Tensor 張量形狀為 [2, 4, 35, 8],沿軸 8(第四維)進行分解,則會得到8個形狀為 [2, 4, 35] 的 Tensor 張量。

import tensorflow as tf
tensor1 = tf.ones([4, 35, 8])
tensor = tf.unstack(tensor1, axis=2)
print(tensor[0].shape, tensor[3].shape, tensor[7].shape)
# 輸出:(4, 35) (4, 35) (4, 35)

四、tf.split( )函數(shù)

tf.split() 用于將一個張量(tensor)沿著指定的軸(axis)拆分為多個子張量。對比于tf.unstack()函數(shù)將某個維度一個個拆分,tf.split()就能實現(xiàn)根據(jù)自己的需求拆分。

tf.split(value, num_or_size_splits, axis)

  • value: 一個多維張量。
  • num_or_size_splits: 要拆分的張量數(shù)量或每個拆分的大小??梢允且粋€整數(shù)(表示拆分的數(shù)量)或一個一維張量(表示每個拆分的大小)。
  • axis: 一個整數(shù),表示沿著哪個軸進行拆分。

1.num_or_size_splits為數(shù)字的情況

import tensorflow as tf
tensor1 = tf.ones([2, 4, 35, 8])
# 拆分為2個形狀為[2, 4, 35, 4]的張量
tensor = tf.split(tensor1, axis=3, num_or_size_splits=2)
print(tensor[0].shape, tensor[1].shape)  # 輸出:[2, 4, 35, 4] [2, 4, 35, 4] 

2.num_or_size_splits為一維向量的情況

import tensorflow as tf
tensor1 = tf.ones([2, 4, 35, 8])
# 在第三個軸上,按照2 / 2 / 4 形狀拆分的張量
tensor = tf.split(tensor1, axis=3, num_or_size_splits=[2, 2, 4])
print(tensor[0].shape, tensor[1].shape, tensor[2].shape)
#  輸出:(2, 4, 35, 2) (2, 4, 35, 2) (2, 4, 35, 4)

到此這篇關(guān)于TensorFlow深度學(xué)習(xí)之實現(xiàn)合并與分割的示例代碼的文章就介紹到這了,更多相關(guān)TensorFlow合并 分割內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中K-means算法基礎(chǔ)知識點

    python中K-means算法基礎(chǔ)知識點

    在本篇文章里小編給大家整理的是一篇關(guān)于python中K-means算法基礎(chǔ)知識點內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-01-01
  • 教你用Python創(chuàng)建微信聊天機器人

    教你用Python創(chuàng)建微信聊天機器人

    這篇文章主要手把手教你用Python創(chuàng)建微信聊天機器人,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python統(tǒng)計列表中每個元素出現(xiàn)次數(shù)的4種實現(xiàn)

    Python統(tǒng)計列表中每個元素出現(xiàn)次數(shù)的4種實現(xiàn)

    本文主要介紹了Python統(tǒng)計列表中每個元素出現(xiàn)次數(shù)的4種實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • PyCharm如何添加外部工具

    PyCharm如何添加外部工具

    文章介紹了如何在Qt Designer中進行可視化UI設(shè)計,并提供了添加外部工具的方法,包括Qt Designer、PyUIC和PyRCC,這些工具可以幫助將UI設(shè)計文件轉(zhuǎn)換為Python代碼,方便進一步開發(fā)
    2026-03-03
  • Python面向?qū)ο蠓庋b操作案例詳解 II

    Python面向?qū)ο蠓庋b操作案例詳解 II

    這篇文章主要介紹了Python面向?qū)ο蠓庋b操作,結(jié)合案例形式詳細分析了Python面向?qū)ο笤谟螒蛑蟹庋b角色的屬性、動作相關(guān)原理與使用技巧,需要的朋友可以參考下
    2020-01-01
  • 教你利用pygame模塊制作跳躍小球小游戲

    教你利用pygame模塊制作跳躍小球小游戲

    pygame是一個專門設(shè)計來進行游戲開發(fā)設(shè)計的Python模塊,因為擺脫了被低級語言(如機器語言和匯編語言)的束縛,使用起來非常的簡單,這篇文章主要給大家介紹了關(guān)于如何利用pygame模塊制作跳躍小球小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python中利用await關(guān)鍵字如何等待Future對象完成詳解

    python中利用await關(guān)鍵字如何等待Future對象完成詳解

    為了簡化并更好地標識異步IO,從Python 3.5開始引入了新的語法async和await,可以讓coroutine的代碼更簡潔易讀。下面這篇文章主要給大家介紹了關(guān)于python中利用await關(guān)鍵字如何等待Future對象完成的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • pycharm進入科學(xué)模式以及退出方式

    pycharm進入科學(xué)模式以及退出方式

    這篇文章主要介紹了pycharm進入科學(xué)模式以及退出方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • pygame實現(xiàn)井字棋之第三步邏輯優(yōu)化

    pygame實現(xiàn)井字棋之第三步邏輯優(yōu)化

    這篇文章主要介紹了pygame實現(xiàn)井字棋之第三步邏輯優(yōu)化,文中有非常詳細的代碼示例,對正在學(xué)習(xí)python的小伙伴們也有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • 在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式

    在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式

    今天小編就為大家分享一篇在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評論

鹤岗市| 延安市| 浦城县| 宁陵县| 平泉县| 安新县| 华阴市| 双柏县| 温泉县| 乐都县| 库伦旗| 常熟市| 锦屏县| 兴文县| 河津市| 翼城县| 桓台县| 弥勒县| 兴隆县| 武穴市| 巫山县| 突泉县| 九寨沟县| 孟村| 子洲县| 务川| 定襄县| 石嘴山市| 泰州市| 留坝县| 岳池县| 广西| 洮南市| 舟山市| 德格县| 仁布县| 广平县| 鹿泉市| 大港区| 信阳市| 孝义市|