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

解讀numpy中改變數(shù)組維度的幾種方式

 更新時(shí)間:2023年06月25日 09:27:27   作者:qiu_xingye  
這篇文章主要介紹了numpy中改變數(shù)組維度的幾種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

numpy改變數(shù)組維度的幾種方式

在進(jìn)行深度學(xué)習(xí)或強(qiáng)化學(xué)習(xí)時(shí)經(jīng)常需要對(duì)數(shù)據(jù)的維度進(jìn)行變換,本文總結(jié)了numpy中幾種常用的變換數(shù)據(jù)維度的方法

增加一個(gè)維度

在多維數(shù)組的最后一維再增加一個(gè)維度可以使用numpy.reshape或numpy.expand_dims或numpy.newaxis。

示例如下:

import numpy as np
import matplotlib.pyplot as plt
# 生成一個(gè)二維數(shù)據(jù)
x = np.array(range(12))
x = np.reshape(x, (3,4))
print(x)
# 輸出為:
# [[ 0 ?1 ?2 ?3]
# ?[ 4 ?5 ?6 ?7]
# ?[ 8 ?9 10 11]]
# 在多維數(shù)組的最后一維再增加一個(gè)維度
y1 = np.expand_dims(x, axis=x.ndim)
y2 = np.expand_dims(x, axis=-1)
y3 = x[:,:,np.newaxis]
y4 = np.reshape(x, (*x.shape,1))
# 上述四種方法的結(jié)果完全一致
assert(np.all(y1==y2))
assert(np.all(y2==y3))
assert(np.all(y3==y4))
print(y4)
# 輸出為:
# [[[ 0]
# ? [ 1]
# ? [ 2]
# ? [ 3]]
# ?[[ 4]
# ? [ 5]
# ? [ 6]
# ? [ 7]]
# ?[[ 8]
# ? [ 9]
# ? [10]
# ? [11]]]

減小一個(gè)維度

如果多維數(shù)組的最后一維的長(zhǎng)度為1,可以將該維去掉,去掉的方法可以使用numpy.reshape或numpy.squeeze。

示例如下:

# 假設(shè)欲將剛才增加一維生成的多維數(shù)組y4的最后一維去掉
y = y4
x1 = np.squeeze(y, axis=(y.ndim-1))
x2 = np.squeeze(y)
x3 = np.squeeze(y, axis=-1)
x4 = np.reshape(y, y.shape[:-1])
# 上述四種方法的結(jié)果完全一致
assert(np.all(x1==x2))
assert(np.all(x2==x3))
assert(np.all(x3==x4))
print(x4)
# 輸出為:
# [[ 0 ?1 ?2 ?3]
# ?[ 4 ?5 ?6 ?7]
# ?[ 8 ?9 10 11]]

將多維數(shù)組壓縮為一維數(shù)組

將多維數(shù)組壓縮為一維數(shù)組,可使用flatten或ravel以及reshape方法。

示例如下:

z1 = y.flatten()
z2 = y.ravel()
z3 = y.reshape(y.size)
# 上述三種方法結(jié)果完全一致
assert(np.all(z1==z2))
assert(np.all(z2==z3))
print(z3)
# 輸出為:
# [ 0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11]

將多維數(shù)組壓縮為二維數(shù)組,0軸保持不變

在深度學(xué)習(xí)或強(qiáng)化學(xué)習(xí)中,有時(shí)需要將shape為(batches, d1, d2, d3,...)的多維數(shù)組轉(zhuǎn)化為shape為(batches, d1*d2*d3...)的數(shù)組,此時(shí)可以使用reshape進(jìn)行轉(zhuǎn)化。

示例如下:

#生成多維數(shù)據(jù)
d0 = np.expand_dims(x, axis=0)
d1 = np.repeat(d0, 3, axis=0)
print(d1)
# 輸出為
# [[[ 0 ?1 ?2 ?3]
# ? [ 4 ?5 ?6 ?7]
# ? [ 8 ?9 10 11]]
# ?[[ 0 ?1 ?2 ?3]
# ? [ 4 ?5 ?6 ?7]
# ? [ 8 ?9 10 11]]
# ?[[ 0 ?1 ?2 ?3]
# ? [ 4 ?5 ?6 ?7]
# ? [ 8 ?9 10 11]]]
#轉(zhuǎn)化為二維數(shù)組
d2 = np.reshape(d1, (d1.shape[0], d1[0].size))
print(d2)
# 輸出為:
# [[ 0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11]
# ?[ 0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11]
# ?[ 0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11]]

numpy數(shù)組-交換維度

比如對(duì)于numpy數(shù)組x,x.shape=[3 ,384 ,512],想要得到cv2讀入圖片的格式,即[384,512,3],則需以下兩行命令即可

x.swapaxes(0,2)
x.swapaxes(0,1)

np.swapaxes(a,x,y) ,是ndarray對(duì)象的操作函數(shù),用來(lái)調(diào)換維度。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • php使用遞歸與迭代實(shí)現(xiàn)快速排序示例

    php使用遞歸與迭代實(shí)現(xiàn)快速排序示例

    這篇文章主要介紹了php使用遞歸與迭代實(shí)現(xiàn)快速排序的示例,大家參考使用吧
    2014-01-01
  • python實(shí)現(xiàn)帶界面的井字棋小游戲

    python實(shí)現(xiàn)帶界面的井字棋小游戲

    這篇文章我們主要介紹的是python實(shí)現(xiàn)帶界面的井字棋小游戲,從安裝tkinter開(kāi)始,然后初始化窗口,定義按鈕即查找獲勝條件,想具體了解的小伙伴可以參考下文,附有詳細(xì)代碼
    2021-09-09
  • Python fileinput模塊使用介紹

    Python fileinput模塊使用介紹

    這篇文章主要介紹了Python fileinput模塊使用方法,需要的朋友可以參考下
    2014-11-11
  • python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼

    python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼

    大家好,本篇文章主要講的是python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼,昂星期的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python跨平臺(tái)讀取 .doc格式文件的方法

    Python跨平臺(tái)讀取 .doc格式文件的方法

    在跨平臺(tái)的開(kāi)發(fā)環(huán)境中,處理不同文件格式是一個(gè)常見(jiàn)問(wèn)題,尤其是老舊的 .doc 格式,在這篇博客中,我們將介紹一種基于 Python 的跨平臺(tái)方案,使用 LibreOffice 將 .doc 文件轉(zhuǎn)換為 .docx 格式,之后再通過(guò) docx2txt 進(jìn)一步處理文檔內(nèi)容,需要的朋友可以參考下
    2025-02-02
  • Python?DPED機(jī)器學(xué)習(xí)之實(shí)現(xiàn)照片美化

    Python?DPED機(jī)器學(xué)習(xí)之實(shí)現(xiàn)照片美化

    本篇文章主要介紹了利用Python中的DPED工具實(shí)現(xiàn)照片一鍵美化,可以實(shí)現(xiàn)照片亮度提高和色彩鮮明度提高,代碼簡(jiǎn)潔易懂,具有一定學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2021-11-11
  • python 使用opencv 把視頻分割成圖片示例

    python 使用opencv 把視頻分割成圖片示例

    今天小編就為大家分享一篇python 使用opencv 把視頻分割成圖片示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python中g(shù)et_dummies()用法示例詳解

    python中g(shù)et_dummies()用法示例詳解

    get_dummies函數(shù)是Python中的一個(gè)函數(shù),用于將分類(lèi)變量轉(zhuǎn)換為啞變量,下面這篇文章主要介紹了python中g(shù)et_dummies()用法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • 詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)

    詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)

    在日常的Web開(kāi)發(fā)中,處理表單數(shù)據(jù)是一個(gè)常見(jiàn)的任務(wù),而XML是一種常用的數(shù)據(jù)格式,用于在不同的系統(tǒng)之間傳遞和存儲(chǔ)數(shù)據(jù),本文通過(guò)闡述一個(gè)技術(shù)問(wèn)題并給出解答的方式,介紹如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • Python OpenCV招商銀行信用卡卡號(hào)識(shí)別的方法

    Python OpenCV招商銀行信用卡卡號(hào)識(shí)別的方法

    這篇文章主要介紹了Python OpenCV招商銀行信用卡卡號(hào)識(shí)別的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

乌鲁木齐县| 襄城县| 沾化县| 定安县| 忻州市| 兴国县| 雷波县| 黔南| 庆安县| 鹰潭市| 合肥市| 勐海县| 潼南县| 双峰县| 蒲城县| 边坝县| 康保县| 景谷| 丹阳市| 微山县| 高台县| 略阳县| 迭部县| 彝良县| 安乡县| 梁平县| 梅河口市| 兰考县| 霞浦县| 禄丰县| 静乐县| 新丰县| 固安县| 台江县| 牙克石市| 玉溪市| 积石山| 磐石市| 沅陵县| 同德县| 渑池县|