tensorflow - Keras中层之间的身份连接应该怎么做?
问题描述
我想考虑 CNN 中各层之间的一些身份连接,并将输入发送到下一层。我为此使用了下面的代码,只是将输入与另一层输出连接起来并发送到下一层,但我不确定它是否正确,因为层的输出与我的预期不同。我是否使用了一种真正的方式将输入发送到其他层和身份连接(如 ResNet)?
wtm=Input((4,4,1))
image = Input((28, 28, 1))
conv1 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl1e',dilation_rate=(2,2))(image)
conv2 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl2e',dilation_rate=(2,2))(conv1)
convaux1=Concatenate(axis=3)([conv2,image])
conv3 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl3e',dilation_rate=(2,2))(convaux1)
BN=BatchNormalization()(conv3)
encoded = Conv2D(1, (5, 5), activation='relu', padding='same',name='encoded_I')(BN)
#-----------------------adding w---------------------------------------
wpad=Kr.layers.Lambda(lambda xy: xy[0] + Kr.backend.spatial_2d_padding(xy[1], padding=((0, 24), (0, 24))))
encoded_merged=wpad([encoded,wtm])
#-----------------------decoder------------------------------------------------
#------------------------------------------------------------------------------
deconv1 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl1d',dilation_rate=(2,2))(encoded_merged)
deconv2 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl2d',dilation_rate=(2,2))(deconv1)
convaux2=Concatenate(axis=3)([deconv2,image])
BNda=BatchNormalization()(convaux2)
deconv3 = Conv2D(64, (5, 5), activation='relu',padding='same', name='convl3d',dilation_rate=(2,2))(BNda)
deconv4 = Conv2D(64, (5, 5), activation='relu',padding='same', name='convl4d',dilation_rate=(2,2))(deconv3)
BNd=BatchNormalization()(deconv4)
decoded = Conv2D(1, (5, 5), activation='sigmoid', padding='same', name='decoder_output')(BNd)
model=Model(inputs=[image,wtm],outputs=decoded)
解决方案
推荐阅读
- python - 用逗号分割字符串,'and's,'or's
- sql - 红移上镶木地板文件的 content_length
- r - 在 R 中固定日期
- mongodb - 使用带有 go-mongodb 驱动程序的 $gt 过滤器搜索文档
- multithreading - 主线程在基于线程池/任务的应用程序中做什么?
- asp.net-web-api - 在 Postman 中传递空字符串
- javascript - 可以在蚂蚁设计中更改日期选择器的图标吗?
- r - 基于具有两个匹配变量参数的函数创建数据框变量,其中参数顺序很重要
- reactjs - 如何从多个嵌套导航器导航到父级
- javascript - for 循环内的 setState 无法正确更新状态