何时何地为 caffe 调用和执行“REGISTER_SOLVER_CLASS(SGD);”?
Posted
技术标签:
【中文标题】何时何地为 caffe 调用和执行“REGISTER_SOLVER_CLASS(SGD);”?【英文标题】:where and when the `REGISTER_SOLVER_CLASS(SGD);` is called and executed for caffe? 【发布时间】:2017-11-25 06:45:48 【问题描述】:我有兴趣阅读 caffe 源代码。现在我很困惑在训练模型时何时何地调用和执行REGISTER_SOLVER_CLASS(SGD);
here?
任何人都可以给一些建议?非常感谢~~
【问题讨论】:
【参考方案1】:正如您在REGISTER_SOLVER_CLASS
宏定义中所见,在solver_factory.hpp 中,Caffe 为求解器创建静态全局对象。它们在库加载时被初始化。请参阅此question + answers 了解完整的详细信息和 Windows / UNIX 差异。
【讨论】:
@AndrewGong :编译 caffe 会创建一个静态库(Linux 上的 .a,Windows 上的 .lib)和动态库(Linux 上的 .so,Windows 上的 .dll)。没看懂你的评论,能详细点吗? 什么都没有,我已经删除了最新的提交。你的回答很好,谢谢!以上是关于何时何地为 caffe 调用和执行“REGISTER_SOLVER_CLASS(SGD);”?的主要内容,如果未能解决你的问题,请参考以下文章