【问题标题】:How to train a volume (3D tensor) with Pytorch for a GAN?如何使用 Pytorch 为 GAN 训练体积(3D 张量)?
【发布时间】:2023-01-28 00:36:48
【问题描述】:

晚上好!

对于背景: 对于大学,我正在尝试重现 CryoGAN 网络(带有 GAN 的 CryoEM)。 目标是重现蛋白质的 3D 结构;给定的数据是真实蛋白质的投影图像。对于 CryoGAN,生成器本身并不包含神经网络,而是由一个体积(用于蛋白质)和一个物理模拟器组成,后者创建 3d 体积的 2D 投影。物理模拟器是一个工作程序,所以我唯一想训练的是体积本身。 该体积是 128x128x128 体素的 3D 张量。

我的想法是,为体积创建一个张量,并将其用作学习的参数。代码运行通过,但音量不更新:( 你碰巧有什么想法吗?我在下面附加了相关行。 提前致谢!

class Generator(nn.Module):
   def __init__(self):
        super().__init__()
        self.gen = nn.Parameter(torch.rand(128, 128, 128))

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


gen = Generator(projection_pixels)


opt_gen = optim.Adam(gen.parameters(), lr=lr)
loss_criterion = nn.BCELoss()



#...feeding discriminator with projections from fake and real protein, calculating loss for generator



gen.zero_grad()
lossG.backward()
opt_gen.step()

我已经尝试将卷的初始化更改为 self.gen = nn.Parameter(torch.FloatTensor(128,128,128).uniform_()) 但这并没有改变任何事情。

【问题讨论】:

    标签: pytorch generative-adversarial-network


    【解决方案1】:

    我也在尝试完成与您类似的事情,我正在尝试在 3D 原理图数据上使用变压器,从那以后您运气好吗?

    【讨论】:

    • 活力四射,请勿添加我也是作为答案。它实际上并没有提供问题的答案。如果您有不同但相关的问题,请ask它(如果它有助于提供上下文,请参考此问题)。如果你对这个具体问题感兴趣,你可以upvote它,留下comment,或者一旦你有足够的reputation就开始bounty。
    猜你喜欢
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 2021-07-12
    • 2019-01-28
    • 1970-01-01
    • 2021-11-19
    相关资源
    最近更新 更多