中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Keras如何改變圖片通道的順序

發布時間:2022-02-25 16:41:37 來源:億速云 閱讀:148 作者:iii 欄目:開發技術

本篇內容介紹了“Keras如何改變圖片通道的順序”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1. Error

在使用Keras.layers.convolutional.Convolution2D的時候

Convolution2D(32, 5, 5, border_mode='valid', input_shape=(1, 28, 28), activation='relu')

報如下錯誤:

OverflowError: Range exceeds valid bounds

這是因為Keras配置圖片通道順序錯誤導致的。上面代碼使用圖片通道順序是[channels][height][width]

2. 修改圖片通道順序

檢查 ~/.keras/keras.json文件

if "image_dim_ordering": is "th" and "backend": "theano", your input_shape must be (channels, height, width)
if "image_dim_ordering": is "tf" and "backend": "tensorflow", your input_shape must be (height, width, channels)

所以,要保證你使用的通道順序和配置的通道順序一致

或者通過這樣修改

from keras import backend
backend.set_image_dim_ordering('th')

補充:Keras設置后端數據維度順序

Keras是比較高級的深度學習框架,其對幾個比較常見的主流深度學習框架的封裝而來,也就是按照Keras的說法就是其后端是以Tensorflow、Theano和CNTK為基礎封裝而來。

CNTK我沒做過多了解,tensorflow的tensor的維度順序和Theano的維度順序是不一樣的,所以在使用Keras的時候要格外注意這一點,如果后端不同的話,設置的數據維度順序也是要不一樣的。

tensorflow的數據維度默認順序是channels_last的好像,也就是說其一個tensor的數據維度是[samples,rows,cols,channels],而Theano不同,其數據順序是channels_first,也就是[samples,rows,cols,channels],這個其實也就是這兩個框架的不同而已,如果用keras來寫深度學習模型的話,其實就只要設置好后端基本也沒啥問題,也不必太考慮數據維度的問題。

但是Keras的數據維度是可以改變的,即使是使用tensorflow為后端,Keras的數據格式也可以是channels_first的,并且這個是可以通過配置文件來改,也可以通過代碼來改的。

Keras的配置文件默認是在$HOME/.keras/keras.json,可以用txt編輯器打開直接修改后端配置的:

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "image_data_format": "channels_last",
    "backend": "tensorflow"
}

這是我的windows下的配置信息,默認是以tensorflow為后端,數據格式是channels_last,但是我有個小項目是一開始是以Theano為后端來寫的,本來就只要稍微改一下就好,但是因為只是這個項目需要改為Theano,所以我并沒有直接改配置文件,而是在代碼里修改后端,這里需要用到Keras的后端backend來實現,修改的代碼如下:

from keras import backend as BK
BK.set_image_data_format("channels_first")
BK.set_image_dim_ordering("th")

這樣設置之后再這個程序跑起來的時候其后端并不會被改變,改變的只是數據的維度順序而已,而且僅僅是針對當前的程序,對其它程序是不影響的。

“Keras如何改變圖片通道的順序”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

缙云县| 田东县| 邹平县| 克拉玛依市| 平谷区| 亚东县| 即墨市| 辽宁省| 高平市| 江安县| 霸州市| 开远市| 阿巴嘎旗| 桂林市| 天镇县| 吉水县| 藁城市| 广饶县| 林周县| 宁强县| 江孜县| 青海省| 晋州市| 太谷县| 保亭| 津市市| 石狮市| 罗田县| 遂溪县| 林州市| 商城县| 庆城县| 柯坪县| 崇义县| 永吉县| 南投市| 郯城县| 吉安县| 泸定县| 宜良县| 和硕县|