欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

keras 獲取某層的輸入/輸出 tensor 尺寸操作

 更新時(shí)間:2020年06月10日 11:09:09   作者:TinaO-O  
這篇文章主要介紹了keras 獲取某層的輸入/輸出 tensor 尺寸操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

獲取單輸入尺寸,該層只被使用了一次。

import keras
from keras.layers import Input, LSTM, Dense, Conv2D
from keras.models import Model
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
 
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
 
# 到目前為止只有一個(gè)輸入,以下可行:
assert conv.input_shape == (None, 32, 32, 3)

如果該層被使用了兩次

import keras
from keras.layers import Input, LSTM, Dense, Conv2D
from keras.models import Model
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
 
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
 
# 到目前為止只有一個(gè)輸入,以下可行:
assert conv.input_shape == (None, 32, 32, 3)
 
conved_b = conv(b)
# 現(xiàn)在 `.input_shape` 屬性不可行,但是這樣可以:
assert conv.get_input_shape_at(0) == (None, 32, 32, 3)
assert conv.get_input_shape_at(1) == (None, 64, 64, 3)

如果是輸出,只需要改成output就好:

import keras
from keras.layers import Input, LSTM, Dense, Conv2D
from keras.models import Model
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
 
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
 
# 到目前為止只有一個(gè)輸入,以下可行:
assert conv.input_shape == (None, 32, 32, 3)
 
conved_b = conv(b)
# 就改了output,當(dāng)然尺寸我也改了
assert conv.get_output_shape_at(0) == (None, 32, 32, 16)
assert conv.get_output_shape_at(1) == (None, 64, 64, 16)

補(bǔ)充知識(shí):keras中獲取shape的正確方法

在keras的網(wǎng)絡(luò)中,如果用layer_name.shape的方式獲取shape信息將會(huì)返還tensorflow.python.framework.tensor_shape.TensorShape其中包含的是tensorflow.python.framework.tensor_shape.Dimension

正確的方式是使用

import keras.backend as K
K.int_shape(laye_name)

以上這篇keras 獲取某層的輸入/輸出 tensor 尺寸操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論