gpt4 book ai didi

neural-network - Caffe:使用相同的预训练权重初始化孪生网络的两个 channel ,但在训练期间不共享权重

转载 作者:行者123 更新时间:2023-12-04 06:38:26 24 4
gpt4 key购买 nike

我试图实现“Seeing the Forest from the Trees: A Holistic Approach to Near-infraredHeterogeneous Face Recognition, CVPRW 2016”中描述的孪生网络。该方法涉及使用单个 channel 模型的相同预训练权重初始化孪生网络的两个 channel 。当共享权重时,这在 caffe 中非常简单。但是我希望以不共享权重的方式实现它(必须通过使用上述论文中提到的对比损失来在没有相同权重的情况下一起学习,但是两个 channel 上的初始化必须相同).我找不到在caffe中实现它的方法。你们中的任何人对在 caffe 中执行此操作的巧妙方法或技巧有任何建议吗?谢谢。

最佳答案

您可以使用 caffe 在 python 中加载源模型和 siamese 目标模型:

netSrc = caffe.Net('deploySrc.prototxt',
'src.caffemodel',
caffe.TEST)
netDst = caffe.Net('deployDst.prototxt',
'dst.caffemodel',
caffe.TEST)

然后您可以分配从源到目标的每层权重。假设您想将层 conv 从源复制到 siamese 网络中的 convA 和 convB 副本:

netDst.params['convA'] = netSrc.params['conv']
netDst.params['convB'] = netSrc.params['conv']

然后将结果保存到新的 caffemodel 中:

netDst.save('dstInitialized.caffemodel')

关于neural-network - Caffe:使用相同的预训练权重初始化孪生网络的两个 channel ,但在训练期间不共享权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39226152/

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