caffe 中的 "Parameter" 层是什么?
What is "Parameter" layer in caffe?
最近我在caffe中遇到了"Parameter"
层。
似乎这一层将其内部参数 blob 暴露给 "top"。
这一层有什么用?
能举个例子吗?
这一层是在 pull request #2079 中引入的,描述如下:
This layer simply holds a parameter blob of user-defined shape, and shares it as its single top.
这正是您所期望的。这是在问题 #1474, which basically proposes to treat parameters like normal bottom blobs. To show why this can be useful, consider the following example (taken from issue #1474, by @longjon):
的上下文中引入的
内积层计算C = A * B
,其中C
是top blob(输出),B
是bottom blob,A
必须 是一个参数 blob。这是非常有限制的,因为这使得不可能使用内积层来乘以两个底部斑点之间的内积,例如将两个输入矩阵相乘。 issue #1474 建议做一个根本性的改变:让参数独立于层。相反,将它们视为普通的底部斑点。
作为朝着这个方向迈出的第一步,引入了 Parameter
layer。这允许您定义一个新参数,然后您可以将其输入到另一层的底部。
对应的方法——一种将参数作为底部 blob 馈送到层中的方法——在拉取请求 #2166 中提出,截至 2017 年 1 月 尚未合并 。
虽然这还没有合并,但您仍然可以使用 Parameter
层来定义新的可学习参数以作为底部 blob 馈送到其他层。
最近我在caffe中遇到了"Parameter"
层。
似乎这一层将其内部参数 blob 暴露给 "top"。
这一层有什么用?
能举个例子吗?
这一层是在 pull request #2079 中引入的,描述如下:
This layer simply holds a parameter blob of user-defined shape, and shares it as its single top.
这正是您所期望的。这是在问题 #1474, which basically proposes to treat parameters like normal bottom blobs. To show why this can be useful, consider the following example (taken from issue #1474, by @longjon):
的上下文中引入的内积层计算C = A * B
,其中C
是top blob(输出),B
是bottom blob,A
必须 是一个参数 blob。这是非常有限制的,因为这使得不可能使用内积层来乘以两个底部斑点之间的内积,例如将两个输入矩阵相乘。 issue #1474 建议做一个根本性的改变:让参数独立于层。相反,将它们视为普通的底部斑点。
作为朝着这个方向迈出的第一步,引入了 Parameter
layer。这允许您定义一个新参数,然后您可以将其输入到另一层的底部。
对应的方法——一种将参数作为底部 blob 馈送到层中的方法——在拉取请求 #2166 中提出,截至 2017 年 1 月 尚未合并 。
虽然这还没有合并,但您仍然可以使用 Parameter
层来定义新的可学习参数以作为底部 blob 馈送到其他层。