博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TensorFlow只训练部分参数
阅读量:6539 次
发布时间:2019-06-24

本文共 489 字,大约阅读时间需要 1 分钟。

深度学习中,有时需要固定网络中部分层数的参数而只训练剩余的一部分,通过合理的使用tf.get_collection()函数,可以很容易的实现。例如:

1 loss_vars = tf.get_collection(tf.GraphKyes.TRAINABLE_VARIABLES, scope='conv1')2 '''3 #如果有多个要训练的参数的话可以用‘|’连接4 loss_vars = tf.get_collection(tf.GraphKyes.TRAINABLE_VARIABLES, scope='conv1|conv2|conv3')5 '''6 opt= tf.train.AdamOptimizer(learning_rate=0.01, beta1=0.5, beta2=0.9).minimize(loss, var_list=loss_vars)

即,把需要更新梯度的层放在get_collection这个函数里面,不需要更新的不放进去。

转载于:https://www.cnblogs.com/piaojianxue/p/10826373.html

你可能感兴趣的文章
hibernate中视图的映射
查看>>
Ionic3 UI组件之 ImageViewer
查看>>
flask框架----flask基础
查看>>
Oracle之RMAN备份及还原
查看>>
蓝桥杯-学校的第一次练习题
查看>>
spring中注解说明
查看>>
hdu 4135 -Co-prime
查看>>
二叉树的建立与先序、中序、后序遍历
查看>>
QLabel显示图片,图片可以自适应label的大小
查看>>
阅读下面程序,请回答如下问题:
查看>>
Lucas+中国剩余定理 HDOJ 5446 Unknown Treasure
查看>>
BZOJ3994:[SDOI2015]约数个数和——题解
查看>>
LeetCode 157,158. Read N Characters Given Read4 I+II
查看>>
Canvas
查看>>
linux软件包管理
查看>>
[20180817]校内模拟赛
查看>>
项目心得1
查看>>
you do not have permission
查看>>
Linux系统安装jdk
查看>>
mac配置vim语法高亮
查看>>