结合两个图i张量流,只对中间模型进行优化

2024-10-01 02:25:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经训练过自动编码器(E1-D1) 现在我想要另一个自动编码器让我们称之为(E2-D2)

因此,模型类似于E1->;E2->;D2->;D1,其中模型仅通过使用D1的输出和E1的输入来优化E2 D2

E1->;5层CNN+1个FC(已训练)

E2->;5层+1层

D2->;5个DeCNN层+1个FC

D1->;5个DeCNN层+1个FC(已训练)

注E1 D1已训练(图中为蓝色)

请看图片

enter image description here

我只想用X(输入)Y(输出)来优化e2d2


Tags: 模型gt图片编码器cnn蓝色d2d1
1条回答
网友
1楼 · 发布于 2024-10-01 02:25:12

在tensorflow中实现这一点的最简单方法是第一列E1和D1(已经完成)。然后提取并存储这些网络的tf.Variables(权重和偏差)的值,然后创建一个包含上述所有自动编码器的全新网络结构,并将提取的权重值注入新网络

您可以通过对E1和D1网络进行训练,然后在会话中调用tf.get_tensor_by_name,将权重值提取为numpy数组来实现这一点。然后可以使用np.save保存这些文件以备将来使用

使用所有所需图层创建新的完整网络:

5个CNN层+1个FC+5个CNN层+1个FC+5个DeCNN层+1个FC 5个DeCNN层+1个FC

然后可以将E1和D1层中tf.Variables的值初始化为先前保存的值,方法是使用np.load加载先前保存的值,然后将这些值作为<initial-value>参数传递给tf.Variables,如here所述

您可以将这些恢复的tf.Variables设置为untrainable,以便它们在其余的训练期间保持不变

相关问题 更多 >