[caffe学习笔记][04][生成solver文件]
说明:
caffe通过配置文件prototxt来描设置训练参数,通过Python接口来生成solver配置文件比较简单。
步骤:
1.生成配置文件
touch create_solver_prototxt.py
spyder create_solver_prototxt.py
1 #!/usr/bin/env python 2 # coding: utf-8 3 """ 4 yuandanfei Editor 5 6 This is a temporary script file. 7 """ 8 path = '/home/yuandanfei/work/caffe/mnist/out/' #solver prototxt path 9 solver_file = path + 'solver.prototxt' 10 11 sp = {} 12 sp['train_net'] = '"' + path + 'train.prototxt"' #train prototxt path 13 sp['test_net'] = '"' + path + 'test.prototxt"' #test prototxt path 14 15 sp['test_interval'] = '938' #test interval = train sample numbers/train batch numbers 16 sp['test_iter'] = '313' #test iter = test sample numbers/test batch numbers 17 sp['max_iter'] = '93800' #train numbers = max iter/test interval 18 19 sp['lr_policy'] = '"step"' #learning rate change strategy = base_lr*gamma^(floor(iter/stepsize)) 20 sp['base_lr'] = '0.001' #base learning rate 21 sp['gamma'] = '0.1' #learning rate change index 22 sp['stepsize'] = '31267' #learning rate change frequece = max iter/stepsize 23 sp['momentum'] = '0.9' #learnig momentum 24 sp['weight_decay'] = '0.0005' #weight decay 25 26 sp['display'] = '938' #display log interval = display/test interval 27 sp['snapshot'] = '9380' #save model interval = snapshot/test interval 28 sp['snapshot_prefix'] = '"snapshot"' #save model prefix 29 30 sp['solver_type'] = 'SGD' #optimization algorithm 31 sp['solver_mode'] = 'GPU' #use GPU 32 33 def write_solver(): 34 with open(solver_file, 'w') as f: 35 for key, value in sorted(sp.items()): 36 if not(type(value) is str): 37 raise TypeError('All solver parameters must be strings') 38 f.write('%s: %s\n' % (key, value)) 39 40 if __name__ == '__main__': 41 write_solver()
参考资料:
https://www.cnblogs.com/denny402/p/5679154.html
https://www.cnblogs.com/denny402/p/5074049.html
https://www.cnblogs.com/denny402/p/5074212.html
分类:
Caffe
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术