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

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

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

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

在進(jìn)行深度學(xué)習(xí)或強(qiáng)化學(xué)習(xí)時(shí)經(jīng)常需要對數(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ù)組的最后一維的長度為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ù)組-交換維度

比如對于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對象的操作函數(shù),用來調(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開始,然后初始化窗口,定義按鈕即查找獲勝條件,想具體了解的小伙伴可以參考下文,附有詳細(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é)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python跨平臺讀取 .doc格式文件的方法

    Python跨平臺讀取 .doc格式文件的方法

    在跨平臺的開發(fā)環(huán)境中,處理不同文件格式是一個(gè)常見問題,尤其是老舊的 .doc 格式,在這篇博客中,我們將介紹一種基于 Python 的跨平臺方案,使用 LibreOffice 將 .doc 文件轉(zhuǎn)換為 .docx 格式,之后再通過 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)照片亮度提高和色彩鮮明度提高,代碼簡潔易懂,具有一定學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2021-11-11
  • python 使用opencv 把視頻分割成圖片示例

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

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

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

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

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

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

    Python OpenCV招商銀行信用卡卡號識別的方法

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

最新評論

名山县| 白河县| 合作市| 泗阳县| 宝鸡市| 洪湖市| 梨树县| 梁山县| 鹿泉市| 额尔古纳市| 原平市| 宜黄县| 孙吴县| 钟山县| 大港区| 承德市| 浦江县| 孟村| 磐安县| 满洲里市| 祁门县| 扶绥县| 吉安县| 金湖县| 甘泉县| 阿图什市| 府谷县| 喀什市| 禄丰县| 什邡市| 土默特右旗| 巴林右旗| 喀什市| 利辛县| 凤凰县| 抚宁县| 福安市| 汝城县| 沈阳市| 罗平县| 保德县|