亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

寫(xiě)在前面

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

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

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

( 1 )簡(jiǎn)單介紹

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

tf.concat(values, axis)

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

( 2 )學(xué)會(huì)使用

分別定義兩個(gè)二維,形狀 shape = (2, 3) 的張量,使它們?cè)诘谝粋€(gè)維度上面拼接,

將第一個(gè)維度的中括號(hào)打開(kāi):

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

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

合并后中括號(hào)還原:

[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)

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

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

將第二個(gè)維度的中括號(hào)打開(kāi):

[ [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對(duì)應(yīng),將4, 5, 6與10, 11, 12對(duì)應(yīng)拼接,合并后中括號(hào)還原

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

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

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

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

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

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

( 1 )簡(jiǎn)單介紹

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

tf.stack(values, axis=0,)

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

( 2 )代碼示例

import tensorflow as tf
# 創(chuàng)建兩個(gè)形狀都為 [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 將兩個(gè)張量堆疊在一起
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)進(jìn)行分解。將指定維度全部拆分,該維度的shape是多少就拆分多少個(gè)。

tf.unstack(value, axis)

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

( 2 )重點(diǎn)理解

tf.unstack 的作用是將輸入的 Tensor 張量沿著指定的軸(axis)分解成多個(gè) Tensor 張量。例如,如果輸入的 Tensor 張量形狀為 [2, 4, 35, 8],沿軸 8(第四維)進(jìn)行分解,則會(huì)得到8個(gè)形狀為 [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() 用于將一個(gè)張量(tensor)沿著指定的軸(axis)拆分為多個(gè)子張量。對(duì)比于tf.unstack()函數(shù)將某個(gè)維度一個(gè)個(gè)拆分,tf.split()就能實(shí)現(xiàn)根據(jù)自己的需求拆分。

tf.split(value, num_or_size_splits, axis)

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

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

import tensorflow as tf
tensor1 = tf.ones([2, 4, 35, 8])
# 拆分為2個(gè)形狀為[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])
# 在第三個(gè)軸上,按照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í)之實(shí)現(xiàn)合并與分割的示例代碼的文章就介紹到這了,更多相關(guān)TensorFlow合并 分割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片

    使用Python實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片

    這篇文章主要為大家詳細(xì)介紹了python如何借用第三方庫(kù)Spire.PDF for Python,從而實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • python隨機(jī)數(shù)分布random測(cè)試

    python隨機(jī)數(shù)分布random測(cè)試

    這篇文章主要為大家詳細(xì)介紹了python隨機(jī)數(shù)分布random的測(cè)試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法

    tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法

    本文主要介紹了tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python做文本按行去重的實(shí)現(xiàn)方法

    Python做文本按行去重的實(shí)現(xiàn)方法

    每行在promotion后面包含一些數(shù)字,如果這些數(shù)字是相同的,則認(rèn)為是相同的行,對(duì)于相同的行,只保留一行。接下來(lái)通過(guò)本文給大家介紹Python做文本按行去重的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧
    2016-10-10
  • Django處理枚舉(枚舉模型)及source的使用

    Django處理枚舉(枚舉模型)及source的使用

    本文主要介紹了Django處理枚舉(枚舉模型)及source的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Python基礎(chǔ)篇之字符串的最全常用操作方法匯總

    Python基礎(chǔ)篇之字符串的最全常用操作方法匯總

    我們?cè)趯W(xué)習(xí)Python語(yǔ)言時(shí)會(huì)遇到各種各樣的字符串方法處理,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)篇之字符串的最全常用操作方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 使用虛擬環(huán)境打包python為exe 文件的方法

    使用虛擬環(huán)境打包python為exe 文件的方法

    這篇文章主要介紹了關(guān)于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python使用ddt過(guò)程中遇到的問(wèn)題及解決方案【推薦】

    python使用ddt過(guò)程中遇到的問(wèn)題及解決方案【推薦】

    在使用DDT數(shù)據(jù)驅(qū)動(dòng)+HTMLTestRunner輸出測(cè)試報(bào)告時(shí)遇到過(guò)2個(gè)問(wèn)題,沒(méi)個(gè)問(wèn)題都很奇葩,下面小編通過(guò)本文給大家分享python使用ddt過(guò)程中遇到的問(wèn)題及解決方案,需要的朋友參考下吧
    2018-10-10
  • python去掉空白行的多種實(shí)現(xiàn)代碼

    python去掉空白行的多種實(shí)現(xiàn)代碼

    這篇文章主要介紹了python去掉空白行實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2018-03-03
  • python使用MQTT給硬件傳輸圖片的實(shí)現(xiàn)方法

    python使用MQTT給硬件傳輸圖片的實(shí)現(xiàn)方法

    最近因需要用python寫(xiě)一個(gè)微服務(wù)來(lái)用MQTT給硬件傳輸圖片,其中python用的是flask框架。這篇文章主要介紹了python使用MQTT給硬件傳輸圖片,需要的朋友可以參考下
    2019-05-05

最新評(píng)論