在用tensorflow训练神经网络时,有时我们想固定其中一些变量的取值不变,训练指定scope中的变量,常用的如finetune等。

一种最常用的方法是在用optimizer计算梯度时,指定计算梯度的变量列表(待优化的变量列表)。示例如下:

import tensorflow as tf
import tensorflow.contrib.slim as slim# 定义优化器
g_optimizer = tf.train.AdamOptimizer(learning_rate = 1e-4)# 指定待优化的变量列表
g_var_list = tf.get_collection(key=tf.GraphKeys.TRAINING_VARIABLES,scope="generator")# 根据损失 gen_loss, 计算指定变量的优化梯度,g_gradient中保存了待优化的变量和对应变量的优化梯度。
g_gradient = g_optimizer.compute_gradients(loss = gen_loss, var_list = g_var_list)# 应用梯度,用计算的变量梯度优化变量列表中的变量
g_opt = g_optimizer.apply_gradient(g_gradient)

更多提取变量列表的方法可参考:Tensorflow 获取model中的变量列表,用于模型加载等

更多冻结变量的方法可参考:tensorflow冻结变量方法(tensorflow freeze variable)

但是我认为,以上就足够了。

tensorflow只训练指定变量相关推荐

  1. [转载] tensorflow如何微调时如何只训练后两层_XLNet只存在于论文?都替你封装好了还不来用!...

    参考链接: 在Python中使用BERT Tokenizer和TensorFlow 2.0进行文本分类 相信前段时间大家都被各种XLNet的解读.解析轰炸了吧.好容易熬过了学会了,到网上一搜,诶!官方 ...

  2. TensorFlow解析常量、变量和占位符

    TensorFlow解析常量.变量和占位符 最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊 ...

  3. TensorFlow的常量、变量、常用函数(一)

    TensorFlow常用函数(一) (1)tf.variable_scope('namespace')和tf.name_scope('namespace'):返回一个用于定义创建variable(层) ...

  4. Tensorflow分布式训练原理

    以下文章摘录自: <机器学习观止--核心原理与实践> 京东: https://item.jd.com/13166960.html 当当:http://product.dangdang.co ...

  5. Tensorflow |(3)变量的的创建、初始化、保存和加载

    Tensorflow |(1)初识Tensorflow Tensorflow |(2)张量的阶和数据类型及张量操作 Tensorflow |(3)变量的的创建.初始化.保存和加载 变量的的创建.初始化 ...

  6. Tensorflow入门——训练结果的保存与加载

    2019独角兽企业重金招聘Python工程师标准>>> 训练完成以后我们就可以直接使用训练好的模板进行预测了 但是每次在预测之前都要进行训练,不是一个常规操作,毕竟有些复杂的模型需要 ...

  7. 深度学习(五十五)tensorflow分布式训练

    tensorflow分布式训练 博客:http://blog.csdn.net/hjimce 微博:黄锦池-hjimce   qq:1393852684 情况一.单机单卡 单机单卡是最普通的情况,当然 ...

  8. 『tensorflow笔记』图变量tf.Variable的用法解析

    TensorFlow中的图变量,跟我们平时所接触的一般变量在用法上有很大的差异.尤其对于那些初次接触此类深度学习库的编程人员来说,会显得十分难上手. 我们通过tf.Variable构造一个variab ...

  9. 如何在TensorFlow中训练Boosted Trees模型

    在使用结构化数据时,诸如梯度提升决策树和随机森林之类的树集合方法是最流行和最有效的机器学习工具之一. 树集合方法训练速度快,无需大量调整即可正常工作,并且不需要大型数据集进行训练. 在TensorFl ...

最新文章

  1. php缺失php5.dll,php5.dll丢失怎么办
  2. HALCON测量工具
  3. 理解 Kotlin 中的属性(property)
  4. 面试官:Redis的事务满足原子性吗?
  5. php 判断是否文件,php 判断是否一个文件的函数is_file()应用举例
  6. 调车遇到的问题及解决办法
  7. DevExpress小结(简略)
  8. 黑鲨怎么修改服务器,黑鲨研习win7系统DNS服务器更换的还原教程
  9. Mybatis中javaType和jdbcType对应和CRUD例子
  10. schedule java_Schedule.java
  11. Oracle Study之-- enq:SQ contention等待事件
  12. 操作系统课设 Nachos 实验四、五:Nachos 的文件系统、扩展 Nachos 的文件系统
  13. 从零开始学JAVA:一、Java语言概述
  14. asp毕业设计—— 基于asp+access的网上论坛设计与实现(毕业论文+程序源码)——网上论坛
  15. SQL中去重的三种方式
  16. (Python)使用SMTP发送QQ邮件
  17. rufus制作u盘启动
  18. python简笔画大全_只用C++和Python,让你的简笔画实时动起来!
  19. 单样本t检验中指标分析
  20. 贪吃的猴子c语言的思路,贪吃的猴子(贪吃的猴子?C语言)

热门文章

  1. 2345浏览器网址_清理流氓网站2345.com劫持浏览器
  2. OpenCV图像处理(2)——形态学操作
  3. 框架封装_重大突破,欧菲光成功研发半导体封装用高端引线框架
  4. java ftp 上传文件 无效_java实现FTP文件上传出现的问题
  5. 安卓桌面整理app_升级到 iOS 13,你还会删除 APP 和整理桌面了吗?
  6. sybase 事务 超时返回_事务背景介绍(2):MongoDB中的逻辑会话
  7. Python数据结构与算法(1.2)——Python基础之变量与内置数据类型
  8. primefaces_Primefaces主题
  9. Java将双精度转换为字符串
  10. wpf程序启动时停止工作,事件管理器报错kernelbase.dll