caffe - 为什么置换层会因就地操作而失败?
问题描述
我尝试将Permute
layer 与 intel caffe 一起使用,就地操作的代码因top
blob 形状错误而失败:
layer {
name: "conv4_3_norm_mbox_conf_perm"
type: "Permute"
bottom: "per_blob"
top: "per_blob"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
以不同bottom
的top
名称成功。
为什么就地操作会失败?
解决方案
显然,值在排列过程中被弄乱了。要交换两个变量,您需要一个临时缓冲区(除非您使用 XOR 技巧或其他东西)。
推荐阅读
- javascript - 如何将用于数学的检查输入值用作克隆的 div 元素的一部分
- gulp - 如何同时运行两个不同的规范?
- elasticsearch - Elasticsearch新手,地址自动补全
- java - spring boot 控制台应用程序:线程“main”java.lang.NoClassDefFoundError 中的异常
- javascript - javascript将选项元素添加到选择列表,但具有自定义数据属性
- c# - 如何使 SplitContainers 中的 ListBoxes 正确调整大小?
- python - 找出给定数据集中每列中缺失值的百分比
- bash - 使用有限的 EC2 存储同时下载和传输文件
- javascript - 以 html 格式上传图片
- unity3d - Vuforia 在后台停止视频