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

使用keras時(shí)input_shape的維度表示問(wèn)題說(shuō)明

 更新時(shí)間:2020年06月29日 10:43:47   作者:vita2dolce  
這篇文章主要介紹了使用keras時(shí)input_shape的維度表示問(wèn)題說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Keras提供了兩套后端,Theano和Tensorflow,不同的后端使用時(shí)維度順序dim_ordering會(huì)有沖突。

對(duì)于一張224*224的彩色圖片表示問(wèn)題,theano使用的是th格式,維度順序是(3,224,224),即通道維度在前,Caffe采取的也是這種方式。而Tensorflow使用的是tf格式,維度順序是(224,224,3),即通道維度在后。

Keras默認(rèn)使用的是Tensorflow。我們?cè)趯?dǎo)入模塊的時(shí)候可以進(jìn)行查看,也可以切換后端。

為了代碼可以在兩種后端兼容,可以通過(guò)data_format參數(shù)進(jìn)行維度順序的設(shè)定,data_format='channels_first',對(duì)應(yīng)“th”,data_format='channels_last',對(duì)應(yīng)“tf”。

補(bǔ)充知識(shí):Tensorflow Keras 中input_shape引發(fā)的維度順序沖突問(wèn)題(NCHW與NHWC)

以tf.keras.Sequential構(gòu)建卷積層為例:

tf.keras.layers.Conv2D(10, 3, input_shape=(2, 9, 9),padding='same',activation=tf.nn.relu,kernel_initializer='glorot_normal', bias_initializer='glorot_normal'),

這是一個(gè)簡(jiǎn)單的卷積層的定義,主要看input_shape參數(shù):

這是用來(lái)指定卷積層輸入形狀的參數(shù),由于Keras提供了兩套后端,Theano和Tensorflow,不同的后端使用時(shí)對(duì)該參數(shù)所指代的維度順序dim_ordering會(huì)有沖突。

Theano(th):

NCHW:順序是 [batch, in_channels, in_height, in_width]

Tensorflow(tf):keras默認(rèn)使用這種方式

NHWC:順序是 [batch, in_height, in_width, in_channels]

即對(duì)于上述input_shape=(2, 9, 9)來(lái)說(shuō):我們先忽略batch,2會(huì)被解析為通道數(shù),矩陣大小為9*9,符合我們預(yù)期。而tf會(huì)將矩陣大小解析為2 * 9 ,且最后一位9代表通道數(shù),與預(yù)期不符。

解決

法一:

在卷積層定義中加入?yún)?shù)來(lái)讓keras在兩種后端之間切換:

data_format='channels_first':代表th

data_format='channels_last':代表tf

但是該法在某些時(shí)候不成功會(huì)報(bào)錯(cuò):

或許是cpu電腦導(dǎo)致的,只支持NHWC即tf模式。

只能修改相應(yīng)文件的配置來(lái)使其支持NCHW,參考這里

法二:(推薦)

使用tf.transpose函數(shù)進(jìn)行高維數(shù)據(jù)的轉(zhuǎn)置(維度大于2,軸的轉(zhuǎn)換)

如將上述(2,9,9)轉(zhuǎn)為(9,9,2)并且是以2為通道數(shù),即矩陣為9*9,而不是像reshape函數(shù)簡(jiǎn)單的調(diào)整維度,若使用reshape函數(shù)來(lái)轉(zhuǎn)換,只會(huì)得到通道數(shù)為9,矩陣為9 * 2的數(shù)據(jù)。

tf.transpose(待轉(zhuǎn)矩陣,(1,2,0))

解釋?zhuān)?/strong>

​ 其中0,1,2…是原矩陣維度從左到右軸的標(biāo)號(hào),即(2,9,9)中三個(gè)維度分別對(duì)應(yīng)標(biāo)號(hào)0,1,2。而調(diào)整過(guò)后將標(biāo)號(hào)順序變?yōu)?,2,0 即是把表通道數(shù)的軸置于最后,這樣轉(zhuǎn)置后的矩陣就滿足了keras的默認(rèn)tf后端。即可正常訓(xùn)練。

以上這篇使用keras時(shí)input_shape的維度表示問(wèn)題說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python辦公自動(dòng)化之讀取本地OUTLOOK客戶端郵件

    python辦公自動(dòng)化之讀取本地OUTLOOK客戶端郵件

    這篇文章主要為大家詳細(xì)介紹了如何使用python實(shí)現(xiàn)讀取本地OUTLOOK客戶端郵件,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以了解下
    2023-10-10
  • pandas factorize實(shí)現(xiàn)將字符串特征轉(zhuǎn)化為數(shù)字特征

    pandas factorize實(shí)現(xiàn)將字符串特征轉(zhuǎn)化為數(shù)字特征

    今天小編就為大家分享一篇pandas factorize實(shí)現(xiàn)將字符串特征轉(zhuǎn)化為數(shù)字特征,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python實(shí)現(xiàn)連接MySql數(shù)據(jù)庫(kù)及增刪改查操作詳解

    Python實(shí)現(xiàn)連接MySql數(shù)據(jù)庫(kù)及增刪改查操作詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)連接MySql數(shù)據(jù)庫(kù)及增刪改查操作,結(jié)合實(shí)例形式詳細(xì)分析了Python安裝PyMySQL模塊及使用PyMySQL模塊進(jìn)行mysql數(shù)據(jù)庫(kù)的連接、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • python借助ChatGPT讀取.env實(shí)現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全

    python借助ChatGPT讀取.env實(shí)現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全

    這篇文章主要為大家介紹了python讀取.env實(shí)現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • python如何使用python-docx調(diào)整Word文檔樣式

    python如何使用python-docx調(diào)整Word文檔樣式

    本文介紹了如何修改文字字體樣式、對(duì)齊樣式、行間距以及段前段后間距,并通過(guò)效果展示給出參考,適用于需要進(jìn)行文檔編輯的讀者
    2024-09-09
  • 一篇文章弄懂Python中的內(nèi)建函數(shù)

    一篇文章弄懂Python中的內(nèi)建函數(shù)

    Python學(xué)習(xí),內(nèi)建函數(shù)是你必須要掌握的一部分,下面這篇文章主要給大家介紹了關(guān)于Python中內(nèi)建函數(shù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • python中round函數(shù)如何使用

    python中round函數(shù)如何使用

    在本篇文章里小編給大家整理了關(guān)于python的round函數(shù)用法總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python?多線程threading程序詳情

    python?多線程threading程序詳情

    這篇文章主要介紹了python?多線程threading程序詳情,Thread類(lèi)表示在單獨(dú)的控制線程中運(yùn)行的活動(dòng),下文相關(guān)資料需要的小伙伴可以參考一下
    2022-04-04
  • Python如何避免文件同名產(chǎn)生覆蓋

    Python如何避免文件同名產(chǎn)生覆蓋

    這篇文章主要介紹了Python如何避免文件同名產(chǎn)生覆蓋,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 可能是史上最細(xì)的python中import詳解

    可能是史上最細(xì)的python中import詳解

    import在python中的意思是用來(lái)調(diào)用模塊的,下面這篇文章主要給大家介紹了關(guān)于python中import詳解的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02

最新評(píng)論