TensorFlow2 关于设置变量是否trainable的难懂点

在TensorFlow2中,建立复杂的模型可能会包含嵌套的Model类型。设置模型权重的训练状态时,需要注意trainable属性的层级独立性。仅改变内层layer.trainable=True并不足够,因为外层模型的状态不会自动更新。正确做法是将外层model设置为trainable=True,然后针对不需要训练的内层设置trainable=False,以确保模型训练的正确配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复杂模型的建立,可以是Model类型里面嵌套Model类型的Layer type,比如:
在这里插入图片描述
这就会导致层次结构很深。当想要设置深层的权重是否可训练的时候,不要以为把最内层的layer.trainable=True即可了,这还是不够的,因为TensorFlow2 的层次结构的trainable状态是独立的,外层的状态不会因为你对内层的状态改变而自动调整。
正确的做法是把外层外层model(layer)设置为 layer.trainable=True,这时它所有的内层都自动变为trainable=True,把不需要train的内层设置为trainable=False.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值