[转]Caffe学习 caffe具体运行流程分析

step1:命令行下输入./build/tools/caffe train –solver xxx.prototxt运行了程序的入口caffe.cpp main()

step2:caffe.cpp main()根据命令行输入的参数train调用caffe.cpp train()

step3:caffe.cpp train()读取xxx.prototxt的参数 调用solver.cpp Solver()的构造函数创建Solver对象

step4:创建Solver对象的时候需要调用solver.cpp Init()函数来初始化模型的网络(构造函数)

step 5:solver.cpp Init()函数调用solver.cpp InitTrainNet()和InitTestNets()函数来分别初始化训练和测试网络

step 6:InitTrainNet()通过xxx.prototxt指定的xxxnet.prototxt读取net的参数,调用net.cpp Net()的构造函数,创建训练网络

step 7:net.cpp Net()调用net.cpp Init()函数,通过for循环来1)创建网络中每一个Layer对象,2)设置bottom和top,3)调用layer.cpp Setup()

step 8:调用InitTestNets()创建测试网络,与InitTrainNet()类似。

step 9:运行返回到caffe.cpp train()中,利用创建好的solver对象调用solver.cpp Solver()函数

step 10:solver.cpp Solve()调用solver.cpp Step()函数,while循环迭代的次数,每次迭代1)调用net.cpp ForwardBackward()来前向以及后向传播 2)solver.cpp ApplyUpdate()更新参数 3)每一定轮次运行solver.cpp TestAll()

转自:http://blog.csdn.net/BVL10101111/article/details/74787586

转载于:https://www.cnblogs.com/listia/articles/8504658.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值