gpt4 book ai didi

machine-learning - 如何制作非静态的Caffe网络架构?

转载 作者:行者123 更新时间:2023-11-30 09:52:44 24 4
gpt4 key购买 nike

我想在 Caffe 中实现一个神经网络架构,它将根据某些可迭代变量执行不同的操作。例如:完整网络可能会使用 10 层进行 5 次训练或测试迭代中的 4 次,但对于所有其他迭代,它将截断网络并仅使用最后 5 层。当然,这需要第一层的输入和第五层的输入具有相同的维度,但我的主要问题是如何在训练/测试期间实现两种架构之间的切换。

最佳答案

我想你可以使用 pycaffe 和 caffe.NetSpec() 来做到这一点,但这不会是一个非常好的代码......
另一方面,为什么不训练整个网络的 i 次迭代,保存快照,然后使用您保存的快照“热启动”简化模型?
即:将 'full_trainval.prototxt''full_solver.prototxt' 配置为训练 i 次迭代的完整网络,并且 'top_trainval.prototxt''top_solver.prototxt' 配置为仅训练网络的顶层。然后

~$ $CAFFE_ROOT/build/tools/caffe train -solver full_solver.prototxt

此阶段结束后,请确保保存了最终的 sanpshot,然后

~$ $CAFFE_ROOT/build/tools/caffe train -solver top_solver.prototxt -snapshot full_train_last_snapshot.solverstate

最后,您可以使用 net_surgery将两个阶段的权重合并到一个完整的网络中。

关于machine-learning - 如何制作非静态的Caffe网络架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41969810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com