网络编程
位置:首页>> 网络编程>> Python编程>> keras获得model中某一层的某一个Tensor的输出维度教程

keras获得model中某一层的某一个Tensor的输出维度教程

作者:Lv_Can  发布时间:2023-12-15 11:28:54 

标签:keras,model,Tensor,维度

获得某层tensor的输出维度

代码如下所示:


from keras import backend as K

@wraps(Conv2D)
def my_conv(*args,**kwargs):
 new_kwargs={'kernel_regularizer':l2(5e-6)}
 new_kwargs['padding']='valid' #'same'
 new_kwargs['strides']=(2,2) if kwargs.get('strides')==(2,2) else (1,1)
 # new_kwargs['kernel_initializer']=keras.initializers.glorot_uniform(seed=0)
 new_kwargs.update(kwargs)
 return Conv2D(*args,**new_kwargs)
def conv(x,**kwargs):
 x=my_conv(**kwargs)(x)
 x=BatchNormalization(axis=-1)(x)
 x=LeakyReLU(alpha=0.05)(x)
 return x

def inception_resnet_a(x_input):
 x_short=x_input
 s1=conv(x_input,filters=32,kernel_size=(1,1))

s2=conv(x_input,filters=32,kernel_size=(1,1))
 s2=conv(s2,filters=32,kernel_size=(3,3),padding='same')

s3=conv(x_input,filters=32,kernel_size=(1,1))
 s3=conv(s3,filters=48,kernel_size=(3,3),padding='same')
 s3=conv(s3,filters=64,kernel_size=(3,3),padding='same')
 x=keras.layers.concatenate([s1,s2,s3])
 x=conv(x,filters=384,kernel_size=(1,1))
 x=layers.Add()([x_short,x])
 x=LeakyReLU(alpha=0.05)(x)

print(K.int_shape(x))

使用K.int_shape(tensor_name)即可得到对应tensor的维度

来源:https://blog.csdn.net/weixin_42074867/article/details/89675795

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com