Advertisement
Guest User

Untitled

a guest
Jul 4th, 2021
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.13 KB | None | 0 0
  1. Unet(
  2. (encoder): SENetEncoder(
  3. (layer0): Sequential(
  4. (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
  5. (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  6. (relu1): ReLU(inplace=True)
  7. (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)
  8. )
  9. (layer1): Sequential(
  10. (0): SEResNeXtBottleneck(
  11. (conv1): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  12. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  13. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  14. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  15. (conv3): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  16. (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  17. (relu): ReLU(inplace=True)
  18. (se_module): SEModule(
  19. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  20. (fc1): Conv2d(256, 16, kernel_size=(1, 1), stride=(1, 1))
  21. (relu): ReLU(inplace=True)
  22. (fc2): Conv2d(16, 256, kernel_size=(1, 1), stride=(1, 1))
  23. (sigmoid): Sigmoid()
  24. )
  25. (downsample): Sequential(
  26. (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  27. (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  28. )
  29. )
  30. (1): SEResNeXtBottleneck(
  31. (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  32. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  33. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  34. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  35. (conv3): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  36. (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  37. (relu): ReLU(inplace=True)
  38. (se_module): SEModule(
  39. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  40. (fc1): Conv2d(256, 16, kernel_size=(1, 1), stride=(1, 1))
  41. (relu): ReLU(inplace=True)
  42. (fc2): Conv2d(16, 256, kernel_size=(1, 1), stride=(1, 1))
  43. (sigmoid): Sigmoid()
  44. )
  45. )
  46. (2): SEResNeXtBottleneck(
  47. (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  48. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  49. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  50. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  51. (conv3): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  52. (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  53. (relu): ReLU(inplace=True)
  54. (se_module): SEModule(
  55. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  56. (fc1): Conv2d(256, 16, kernel_size=(1, 1), stride=(1, 1))
  57. (relu): ReLU(inplace=True)
  58. (fc2): Conv2d(16, 256, kernel_size=(1, 1), stride=(1, 1))
  59. (sigmoid): Sigmoid()
  60. )
  61. )
  62. )
  63. (layer2): Sequential(
  64. (0): SEResNeXtBottleneck(
  65. (conv1): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  66. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  67. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=32, bias=False)
  68. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  69. (conv3): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  70. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  71. (relu): ReLU(inplace=True)
  72. (se_module): SEModule(
  73. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  74. (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))
  75. (relu): ReLU(inplace=True)
  76. (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))
  77. (sigmoid): Sigmoid()
  78. )
  79. (downsample): Sequential(
  80. (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)
  81. (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  82. )
  83. )
  84. (1): SEResNeXtBottleneck(
  85. (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  86. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  87. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  88. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  89. (conv3): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  90. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  91. (relu): ReLU(inplace=True)
  92. (se_module): SEModule(
  93. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  94. (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))
  95. (relu): ReLU(inplace=True)
  96. (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))
  97. (sigmoid): Sigmoid()
  98. )
  99. )
  100. (2): SEResNeXtBottleneck(
  101. (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  102. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  103. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  104. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  105. (conv3): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  106. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  107. (relu): ReLU(inplace=True)
  108. (se_module): SEModule(
  109. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  110. (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))
  111. (relu): ReLU(inplace=True)
  112. (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))
  113. (sigmoid): Sigmoid()
  114. )
  115. )
  116. (3): SEResNeXtBottleneck(
  117. (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  118. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  119. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  120. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  121. (conv3): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  122. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  123. (relu): ReLU(inplace=True)
  124. (se_module): SEModule(
  125. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  126. (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))
  127. (relu): ReLU(inplace=True)
  128. (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))
  129. (sigmoid): Sigmoid()
  130. )
  131. )
  132. )
  133. (layer3): Sequential(
  134. (0): SEResNeXtBottleneck(
  135. (conv1): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  136. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  137. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=32, bias=False)
  138. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  139. (conv3): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  140. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  141. (relu): ReLU(inplace=True)
  142. (se_module): SEModule(
  143. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  144. (fc1): Conv2d(1024, 64, kernel_size=(1, 1), stride=(1, 1))
  145. (relu): ReLU(inplace=True)
  146. (fc2): Conv2d(64, 1024, kernel_size=(1, 1), stride=(1, 1))
  147. (sigmoid): Sigmoid()
  148. )
  149. (downsample): Sequential(
  150. (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)
  151. (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  152. )
  153. )
  154. (1): SEResNeXtBottleneck(
  155. (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  156. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  157. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  158. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  159. (conv3): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  160. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  161. (relu): ReLU(inplace=True)
  162. (se_module): SEModule(
  163. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  164. (fc1): Conv2d(1024, 64, kernel_size=(1, 1), stride=(1, 1))
  165. (relu): ReLU(inplace=True)
  166. (fc2): Conv2d(64, 1024, kernel_size=(1, 1), stride=(1, 1))
  167. (sigmoid): Sigmoid()
  168. )
  169. )
  170. (2): SEResNeXtBottleneck(
  171. (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  172. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  173. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  174. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  175. (conv3): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  176. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  177. (relu): ReLU(inplace=True)
  178. (se_module): SEModule(
  179. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  180. (fc1): Conv2d(1024, 64, kernel_size=(1, 1), stride=(1, 1))
  181. (relu): ReLU(inplace=True)
  182. (fc2): Conv2d(64, 1024, kernel_size=(1, 1), stride=(1, 1))
  183. (sigmoid): Sigmoid()
  184. )
  185. )
  186. (3): SEResNeXtBottleneck(
  187. (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  188. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  189. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  190. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  191. (conv3): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  192. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  193. (relu): ReLU(inplace=True)
  194. (se_module): SEModule(
  195. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  196. (fc1): Conv2d(1024, 64, kernel_size=(1, 1), stride=(1, 1))
  197. (relu): ReLU(inplace=True)
  198. (fc2): Conv2d(64, 1024, kernel_size=(1, 1), stride=(1, 1))
  199. (sigmoid): Sigmoid()
  200. )
  201. )
  202. (4): SEResNeXtBottleneck(
  203. (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  204. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  205. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  206. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  207. (conv3): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  208. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  209. (relu): ReLU(inplace=True)
  210. (se_module): SEModule(
  211. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  212. (fc1): Conv2d(1024, 64, kernel_size=(1, 1), stride=(1, 1))
  213. (relu): ReLU(inplace=True)
  214. (fc2): Conv2d(64, 1024, kernel_size=(1, 1), stride=(1, 1))
  215. (sigmoid): Sigmoid()
  216. )
  217. )
  218. (5): SEResNeXtBottleneck(
  219. (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  220. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  221. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  222. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  223. (conv3): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  224. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  225. (relu): ReLU(inplace=True)
  226. (se_module): SEModule(
  227. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  228. (fc1): Conv2d(1024, 64, kernel_size=(1, 1), stride=(1, 1))
  229. (relu): ReLU(inplace=True)
  230. (fc2): Conv2d(64, 1024, kernel_size=(1, 1), stride=(1, 1))
  231. (sigmoid): Sigmoid()
  232. )
  233. )
  234. )
  235. (layer4): Sequential(
  236. (0): SEResNeXtBottleneck(
  237. (conv1): Conv2d(1024, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  238. (bn1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  239. (conv2): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=32, bias=False)
  240. (bn2): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  241. (conv3): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
  242. (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  243. (relu): ReLU(inplace=True)
  244. (se_module): SEModule(
  245. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  246. (fc1): Conv2d(2048, 128, kernel_size=(1, 1), stride=(1, 1))
  247. (relu): ReLU(inplace=True)
  248. (fc2): Conv2d(128, 2048, kernel_size=(1, 1), stride=(1, 1))
  249. (sigmoid): Sigmoid()
  250. )
  251. (downsample): Sequential(
  252. (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)
  253. (1): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  254. )
  255. )
  256. (1): SEResNeXtBottleneck(
  257. (conv1): Conv2d(2048, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  258. (bn1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  259. (conv2): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  260. (bn2): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  261. (conv3): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
  262. (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  263. (relu): ReLU(inplace=True)
  264. (se_module): SEModule(
  265. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  266. (fc1): Conv2d(2048, 128, kernel_size=(1, 1), stride=(1, 1))
  267. (relu): ReLU(inplace=True)
  268. (fc2): Conv2d(128, 2048, kernel_size=(1, 1), stride=(1, 1))
  269. (sigmoid): Sigmoid()
  270. )
  271. )
  272. (2): SEResNeXtBottleneck(
  273. (conv1): Conv2d(2048, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  274. (bn1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  275. (conv2): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
  276. (bn2): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  277. (conv3): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
  278. (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  279. (relu): ReLU(inplace=True)
  280. (se_module): SEModule(
  281. (avg_pool): AdaptiveAvgPool2d(output_size=1)
  282. (fc1): Conv2d(2048, 128, kernel_size=(1, 1), stride=(1, 1))
  283. (relu): ReLU(inplace=True)
  284. (fc2): Conv2d(128, 2048, kernel_size=(1, 1), stride=(1, 1))
  285. (sigmoid): Sigmoid()
  286. )
  287. )
  288. )
  289. )
  290. (decoder): UnetDecoder(
  291. (center): Identity()
  292. (blocks): ModuleList(
  293. (0): DecoderBlock(
  294. (conv1): Conv2dReLU(
  295. (0): Conv2d(3072, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  296. (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  297. (2): ReLU(inplace=True)
  298. )
  299. (attention1): Attention(
  300. (attention): Identity()
  301. )
  302. (conv2): Conv2dReLU(
  303. (0): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  304. (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  305. (2): ReLU(inplace=True)
  306. )
  307. (attention2): Attention(
  308. (attention): Identity()
  309. )
  310. )
  311. (1): DecoderBlock(
  312. (conv1): Conv2dReLU(
  313. (0): Conv2d(768, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  314. (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  315. (2): ReLU(inplace=True)
  316. )
  317. (attention1): Attention(
  318. (attention): Identity()
  319. )
  320. (conv2): Conv2dReLU(
  321. (0): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  322. (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  323. (2): ReLU(inplace=True)
  324. )
  325. (attention2): Attention(
  326. (attention): Identity()
  327. )
  328. )
  329. (2): DecoderBlock(
  330. (conv1): Conv2dReLU(
  331. (0): Conv2d(384, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  332. (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  333. (2): ReLU(inplace=True)
  334. )
  335. (attention1): Attention(
  336. (attention): Identity()
  337. )
  338. (conv2): Conv2dReLU(
  339. (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  340. (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  341. (2): ReLU(inplace=True)
  342. )
  343. (attention2): Attention(
  344. (attention): Identity()
  345. )
  346. )
  347. (3): DecoderBlock(
  348. (conv1): Conv2dReLU(
  349. (0): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  350. (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  351. (2): ReLU(inplace=True)
  352. )
  353. (attention1): Attention(
  354. (attention): Identity()
  355. )
  356. (conv2): Conv2dReLU(
  357. (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  358. (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  359. (2): ReLU(inplace=True)
  360. )
  361. (attention2): Attention(
  362. (attention): Identity()
  363. )
  364. )
  365. (4): DecoderBlock(
  366. (conv1): Conv2dReLU(
  367. (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  368. (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  369. (2): ReLU(inplace=True)
  370. )
  371. (attention1): Attention(
  372. (attention): Identity()
  373. )
  374. (conv2): Conv2dReLU(
  375. (0): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  376. (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  377. (2): ReLU(inplace=True)
  378. )
  379. (attention2): Attention(
  380. (attention): Identity()
  381. )
  382. )
  383. )
  384. )
  385. (segmentation_head): SegmentationHead(
  386. (0): Conv2d(16, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  387. (1): Identity()
  388. (2): Activation(
  389. (activation): Identity()
  390. )
  391. )
  392. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement