在张量流中复制网络

2024-03-12

我问过类似的问题here https://stackoverflow.com/questions/42018010/copy-tensorflow-contrib-layers?noredirect=1#comment71210552_42018010.

然而,答案并不能满足我的需要,而且没有人回复我的评论,所以我必须重新发布问题并使其更清楚。

我有 2 个网络,称为目标网络和源网络。为了简单起见,网络定义如下:

# Definition for Source
s_input = tf.placeholder(tf.float32, [None, 1], name='input_layer')
s_output = tf.contrib.layers.fully_connected(input=s_input, num_outputs=1)
# Structure of target is the same as Source's with t_input & t_output.

# Loss
loss = (alpha*t_output - s_input + beta*label)**2
opt = tf.train.GradientDescentOptimizer(learning_rate=0.1).minimize(loss)

现在,经过一些训练步骤后,我想复制图层的内容(参数)s_output分层t_output以便t_output不会改变为s_output由于梯度下降而改变&t_output仍然得到输入t_input.

我已经尝试过雅罗斯拉夫·布拉托夫建议的解决方案,但它不起作用。

如果我简单地定义我的网络tf.Variable,我可以轻松地复制变量tf.assign,但现在我想用tf.contrib.layers这更加简单和灵活,足以定义我自己的网络。

如果有人不明白我的问题,请通知我,以便我解决它。


您好,您可以使用分配来创建复制操作,例如

s_output = tf.contrib.layers.fully_connected(input = s_input, num_outputs=1, weights_initializer=tf.contrib.layers.xavier_initializer())
t_output = tf.contrib.layers.fully_connected(input = s_input, num_outputs=1)

现在您可以访问可训练变量

vars = tf.trainable_variables()

并复制它们(前半部分是 s_output 中的变量,后半部分是 t_output 中的变量):

copy_ops = [vars[ix+len(vars)//2].assign(var.value()) for ix, var in enumerate(vars[0:len(vars)//2])]

现在您可以使用以下方法复制数据:

init = tf.global_variables_initializer()
sess = tf.Session() 
sess.run(init)
map(lambda x: sess.run(x), copy_ops)
print(sess.run(vars[2]))

希望这就是您正在寻找的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在张量流中复制网络 的相关文章

  • 验证 Transformer 中多头注意力的实现

    我已经实施了MultiAttention head in Transformers 周围有太多的实现 所以很混乱 有人可以验证我的实施是否正确 DotProductAttention 引用自 https www tensorflow org
  • Ray:如何在一个 GPU 上运行多个 Actor?

    我只有一个 GPU 我想在该 GPU 上运行许多 Actor 这是我使用的方法ray 下列的https ray readthedocs io en latest actors html https ray readthedocs io en
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • 精度类型

    使用 keras 库获得的精度如下 model compile optimizer sgd loss mse metrics tf keras metrics Precision sklearn 计算出的哪种精度与 keras 计算出的精度
  • 无法使用 Keras 中的 multi_gpu_model 后的 model.save 保存模型

    升级到 Keras 2 0 9 后 我一直在使用multi gpu model实用程序 但我无法使用保存我的模型或最佳权重 model save path 我得到的错误是 类型错误 无法pickle模块对象 我怀疑访问模型对象时存在一些问题
  • keras 模型拟合:ValueError:无法找到可以处理输入的数据适配器:

    我正在构建一个简单的 CNN 模型用于多类分类 训练和测试数据位于data path根据所需的类子目录flow from directory的函数ImageDataGenerator 这是我根据数据构建和训练模型的代码 from tenso
  • MultiHeadAttention Attention_mask [Keras、Tensorflow] 示例

    我正在努力掩盖 MultiHeadAttention 层的输入 我正在使用 Keras 文档中的 Transformer Block 进行自我关注 到目前为止 我在网上找不到任何示例代码 如果有人能给我一个代码片段 我将不胜感激 变压器块来
  • 移动设备上的 TensorFlow(Android、iOS、Windows Phone)

    我目前正在寻找不同的深度学习框架 特别是用于训练和部署卷积神经网络 要求是 它可以在带有 GPU 的普通 PC 上进行训练 但训练后的模型必须部署在三个主要的移动操作系统上 即 Android iOS 和 Windows Phone Ten
  • 具有不同尺寸图像的 Tensorflow 输入数据集

    我正在尝试使用不同大小的输入图像来训练完全卷积神经网络 我可以通过循环训练图像并在每次迭代时创建单个 numpy 输入来做到这一点 即 for image input label in zip image data labels train
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 稍微不同的形状会收敛到错误的数字 - 为什么?

    我试图弄清楚为什么 TensorFlow 会做一些令人惊讶的事情 我将其归结为一个测试用例 尝试对一个简单的问题进行线性回归 该问题只需将两个输入加在一起 权重收敛到 1 0 偏差收敛到 0 0 正如它们应该的那样 使用此版本的训练输出 t
  • PyInstaller 是否包含 CUDA

    我正在开发一个Python脚本 我使用Python 3 7 3 它使用tensorflow gpu 1 14 0 并使用PyInstaller 3 5将此脚本转换为可执行文件 我使用的是 CUDA 10 0 和 cuDNN 7 6 1 我的
  • 在优化器期间保持变量不变

    我有一个损失张量 L 的 TensorFlow 计算图 它取决于 2 个 tf Variables A 和 B 我想在保持 B 固定的同时在变量 A 上运行梯度上升 A L 与 A 的梯度 反之亦然 在 B 上运行梯度上升 B L 与 B
  • Tensorflow:Cuda 计算能力 3.0。所需的最低 Cuda 能力为 3.5

    我正在从源安装tensorflow 文档 https www tensorflow org versions r0 10 get started os setup html installing from sources Cuda驱动版本
  • 如何在google colaboratory上使用GPU升级tensorflow

    目前google colaboratory使用tensorflow 1 4 1 我想升级到1 5 0版本 每次当我执行时 pip install upgrade tensorflow命令 notebook实例成功将tensorflow版本升
  • 增加 sigmoid 预测输出值?

    我创建了一个用于文本分类的 Conv1D 模型 当在最后一个密集处使用 softmax sigmoid 时 它产生的结果为 softmax gt 0 98502016 0 0149798 sigmoid gt 0 03902826 0 00
  • 如何在arm64主机上运行amd64 docker镜像

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 2021 07 28 22 25 06 349222 F tensorflow core platform cpu
  • model.fit 在 Keras 中如何工作?

    我之前的帖子或错误是这样的one https stackoverflow com questions 52261090 do the operations defined in array ops in tensorflow have gr
  • 自定义 Keras 损失函数中的 conv2d

    我正在尝试基于两个图像的拉普拉斯算子在带有 TF 后端的 Keras 中实现自定义损失函数 def blur loss y true y pred weighting of blur loss alpha 1 mae losses mean
  • Tensorflow 2.0 中的二阶导数

    我正在尝试计算标量变量的简单向量函数的二阶导数f x x x 2 x 3 使用 TF 2 3 与tf GradientTape def f ab x return x x 2 x 3 import tensorflow as tf in1

随机推荐