pytorch nn.dropout

class UNetDown(nn.Module):
def __init__(self, in_size, out_size, normalize=True, dropout=0.0):
super(UNetDown, self).__init__()
layers = [nn.Conv2d(in_size, out_size, 4, 2, 1, bias=False)]
if normalize:
layers.append(nn.InstanceNorm2d(out_size))
layers.append(nn.LeakyReLU(0.2))
if dropout:
layers.append(nn.Dropout(dropout))
self.model = nn.Sequential(*layers)

def forward(self, x):
return self.model(x)

class UNetUp(nn.Module):
def __init__(self, in_size, out_size, dropout=0.0):
super(UNetUp, self).__init__()
layers = [ nn.ConvTranspose2d(in_size, out_size, 4, 2, 1, bias=False),
nn.InstanceNorm2d(out_size),
nn.ReLU(inplace=True)]
if dropout:
layers.append(nn.Dropout(dropout))

self.model = nn.Sequential(*layers)

def forward(self, x, skip_input):
x = self.model(x)
x = torch.cat((x, skip_input), 1)

return x

class GeneratorUNet(nn.Module):
def __init__(self, in_channels=3, out_channels=3):
super(GeneratorUNet, self).__init__()

self.down1 = UNetDown(in_channels, 64, normalize=False)
self.down2 = UNetDown(64, 128)
self.down3 = UNetDown(128, 256)
self.down4 = UNetDown(256, 512, dropout=0.5)
self.down5 = UNetDown(512, 512, dropout=0.5)
self.down6 = UNetDown(512, 512, dropout=0.5)
self.down7 = UNetDown(512, 512, dropout=0.5)
self.down8 = UNetDown(512, 512, normalize=False, dropout=0.5)

self.up1 = UNetUp(512, 512, dropout=0.5)
self.up2 = UNetUp(1024, 512, dropout=0.5)
self.up3 = UNetUp(1024, 512, dropout=0.5)
self.up4 = UNetUp(1024, 512, dropout=0.5)
self.up5 = UNetUp(1024, 256)
self.up6 = UNetUp(512, 128)
self.up7 = UNetUp(256, 64)

self.final = nn.Sequential(
nn.Upsample(scale_factor=2),
nn.ZeroPad2d((1, 0, 1, 0)),
nn.Conv2d(128, out_channels, 4, padding=1),
nn.Tanh()
)

def forward(self, x):
# U-Net generator with skip connections from encoder to decoder
d1 = self.down1(x)
d2 = self.down2(d1)
d3 = self.down3(d2)
d4 = self.down4(d3)
d5 = self.down5(d4)
d6 = self.down6(d5)
d7 = self.down7(d6)
d8 = self.down8(d7)
u1 = self.up1(d8, d7)
u2 = self.up2(u1, d6)
u3 = self.up3(u2, d5)
u4 = self.up4(u3, d4)
u5 = self.up5(u4, d3)
u6 = self.up6(u5, d2)
u7 = self.up7(u6, d1)

return self.final(u7)
---------------------判别器的真假标签
喜欢阅读
  • 时光和你微微甜

    时光和你微微甜

    浩瀚星辰里的光是少年藏在年少的梦。她想,用这一生满腔热血为他追光。……经年以后,唐风还是那个楚时光。可楚靳萧早已不是那个少年……

  • 追寻爱的踪迹

    追寻爱的踪迹

    擦肩而过的那一眼,她爱上他,从此,他就是她的再劫难逃。

  • 替身影后:总裁的千亿娇妻

    替身影后:总裁的千亿娇妻

    她是被妓女养大的孩子,卑微入泥一场灾祸,让她一转身成为当红影星安之若的替身演员,同时,也成了俞瑾年床上的替代品。“我这辈子,最不后悔两件事,第一,是时间终于把我对你的爱消耗殆尽”她顿了顿,伸出指尖,点着男人的鼻子,:“第二,是很久很久以前,遇见你,”俞瑾年面容冷漠,唇角微扬:“夏笙笙,你以为,你逃得掉吗?”

  • 只愿余生抱着你

    只愿余生抱着你

    上辈子,被最信赖的妹妹害死,失去了最爱的男人,失去了孩子,失去了父亲,失去了曾经的她引以为豪的一切。重活一世,她只想要好好的保护她在意的人,让曾经伤她害她的人,得到应有的报应。却没有想到,一场意外,误惹了帝少穆凉川。明明只是认识了几天而已,他却对她步步紧逼,毫不退让,在她一而再再而三的退让之下,他揽她入怀,宠她入骨,看着她深情而缱绻,他说,“以欢,你知道吗?除了呼吸和活着,爱你是我坚持最久的一件事。”

  • 曾心难属旧人

    曾心难属旧人

    “如果你觉得你能逃过我的手掌心,那你就试试。”她误打误撞救了他,结果换来的就是新婚之夜被他掳走!一夜之间从小小外科医生到东方家的少奶奶!闯祸,装失忆,烧别墅……所有的办法冷唯一都用过了,可某人依旧能笑颜如花,“老婆,还有新的招数吗?”可当她发现自己怀孕打算缴械投降的时候,他却一纸离婚协议扔到她面前。“从今天起,你自由了。”<五年后的某天,软萌儿子突然领回家一个男人。冷唯一错愕,以为他要来抢孩子,“你来干什么?!”“一加一乘二。”“你什么意思?”“我来求和。”

  • 网游之一刃诛天

    网游之一刃诛天

    连续三届的WCG冠军,本来这种荣耀和辉煌可以一直持续下去,但一次意外让我成为了废人。三年后,游戏《问天》问世,给了我一个新的机会....

  • 替婚热恋小甜妻

    替婚热恋小甜妻

    五年前,她结婚时就知道老公心里有个初恋,他捏着她的下巴说:“你只是一个替身,除了钱,其他的别妄想。”她以为只要她努力对他好,他总会感动,总会爱上她,后来她才知道,男人不可能因为感动就爱上一个人。结婚5年,老公的初恋回来了,要离婚,还要她打掉肚子里的孩子……

  • 侠医少年

    侠医少年

    消失六年的徐方突然回到家乡当一名小小的村医,顺便帮助乡亲发展山村,凭借他过人的手段,原本贫困的山村,逐渐变成了富饶之地。

  • 猜你喜欢
  • python3菜鸟教程
  • loadrunner使用教程
  • nn二甲基甲酰胺
  • dropout正则化
  • dropout函数
  • pyton语言
  • pytorch安装
  • pytorch是什么
  • pytorch是干什么的
  • 热门推荐
  • http nextoptim.com
  • 联想 c260
  • good boy抖音尖叫
  • 上海市冠生园路401号
  • 2012年巴西美臀大赛
  • 阴虱在衣服上能存活吗
  • 怎么问siri羞羞的问题
  • 呈色lisa婚纱摄影
  • 嘉定区新城实验幼儿园
  • heatsticks是什么
  • 蓝色的大海 全智贤同款
  • 偷拍初中学生超短裤
  • before class
  • 录仙 卤水点豆腐
  • 生长纹去除的小妙招
  • 日本火的动漫排行榜
  • 成毅强吻孟子义视频
  • anne klein包 狮子
  • 长春未来30天天气预报
  • 快捷支付登录
  • All Right Reserved 安福网