当前位置:网站首页>迁移学习冻结网络的方法:
迁移学习冻结网络的方法:
2022-08-01 10:59:00 【Wsyoneself】
说明:pytorch(1-3),TensorFlow(4)
fine tune就是冻结网络前面的层,然后训练最后一层
- 给优化器传入所有参数,但将要冻结层的参数的
requires_grad
置为False:
optimizer = optim.SGD(model.parameters(), lr=1e-2) # 传入的是所有的参数 for name, param in model.named_parameters(): if 要冻结的网络层的名字(即name的值): param.requires_grad = False
- 优化器传入不冻结的网络层的参数:
optimizer = optim.SGD(model.不冻结的网络层的name.parameters(), lr=1e-2) # 优化器只传入fc2的参数
- 最优做法是:优化器只传入requires_grad=True的参数,占用的内存会更小一点,效率也会更高。代码及结合1和2
节省显存:不将不更新的参数传入
optimizer
提升速度:将不更新的参数的
requires_grad
设置为False
,节省了计算这部分参数梯度的时间
- 代码如下:
#定义优化算子 optimizer = tf.train.AdamOptimizer( 1e-3) #选择待优化的参数 output_vars = tf.get_collection(tf.GraphKyes.TRAINABLE_VARIABLES, scope= 'outpt') train_step = optimizer.minimize(loss_score,var_list = output_vars)
把需要更新梯度的层放在tf.get_collection这个函数里面,不需要更新的不放进去。
边栏推荐
- STM32 Personal Notes - Embedded C Language Optimization
- .NET analyzes the LINQ framework in depth (three: the elegant prelude of LINQ)
- 分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测
- redis6 跟着b站尚硅谷学习
- PDMan-国产免费通用数据库建模工具(极简,漂亮)
- Kaitian aPaaS mobile phone number empty number detection [Kaitian aPaaS battle]
- Promise learning (4) The ultimate solution for asynchronous programming async + await: write asynchronous code in a synchronous way
- 如何解决 chrome 浏览器标签过多无法查看到标题的情况
- 如何在IntellJ IDEA中批量修改文件换行符
- 语音聊天app源码——语音聊天派对
猜你喜欢
在线GC日志分析工具——GCeasy
什么是步进电机?40张图带你了解!
gc的意义和触发条件
Mysql index related knowledge review one
复现assert和eval成功连接或失败连接蚁剑的原因
【随心笔记】假期快过去了,都干了点什么
.NET analyzes the LINQ framework in depth (three: the elegant prelude of LINQ)
Android Security and Protection Policy
Online - GCeasy GC log analysis tools
数字化转型实践:世界级2B数字化营销的方法框架
随机推荐
Why Metropolis–Hastings Works
xss-labs靶场挑战
JWT
How I secured 70,000 ETH and won a 6 million bug bounty
如何从完美的智能合约中窃取 1 亿美元
Android 安全与防护策略
Mini Program Graduation Works WeChat Food Recipes Mini Program Graduation Design Finished Products (3) Background Functions
如何设计一个分布式 ID 发号器?
退役划水
Mini Program Graduation Works WeChat Food Recipes Mini Program Graduation Design Finished Products (2) Mini Program Functions
【无标题】
JWT
CTFshow,命令执行:web37
URL.createObjectURL、URL.revokeObjectURL、Uint8Array、Blob使用详解
从零开始Blazor Server(4)--登录系统
博弈论(Depu)与孙子兵法(42/100)
MySQL常用语句总结
解决vscode输入! 无法快捷生成骨架(新版vscode快速生成骨架的三种方法)
shell--第九章练习
CTFshow,命令执行:web31