caffe 中一个SoftmaxWithLossLayer中的中的LayerSetUp的问题

发布于 2022-09-05 20:51:37 字数 1270 浏览 32 评论 0

template <typename Dtype>
void SoftmaxWithLossLayer<Dtype>::LayerSetUp(

const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) {

LossLayer<Dtype>::LayerSetUp(bottom, top); //创建时动态修改本层的laterparemeter参数适应softmaxlayer,当前的参数添加非0权重
LayerParameter softmax_param(this->layer_param_);//获取本层的参数
softmax_param.set_type("Softmax"); //取名
softmax_layer_ = LayerRegistry<Dtype>::CreateLayer(softmax_param); //注册(以softmax名字索引该层,并且以其参数来初始化该layer,且返回该类型的layer)
softmax_bottom_vec_.clear();
softmax_bottom_vec_.push_back(bottom[0]); //设置该层的输入blob
softmax_top_vec_.clear();
softmax_top_vec_.push_back(&prob_); //设置该layer的输出blob (1*1)
softmax_layer_->SetUp(softmax_bottom_vec_, softmax_top_vec_); //本方法实现了吗?
在layer.hpp有中
void SetUp(const vector<Blob<Dtype>*>& bottom,

  const vector<Blob<Dtype>*>& top) {
InitMutex();
CheckBlobCounts(bottom, top);
LayerSetUp(bottom, top);
Reshape(bottom, top);
SetLossWeights(top);

}
softmax继承了layer类但是他们两个都没有实现layer.hpp中的LayerSetUp方法,怎么能在softmax_layer_调用呢?
SetUp方法呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

江挽川 2022-09-12 20:51:38

softmax继承了layer类啊。虽然softmax没有实现SetUp方法,但是Layer基类实现了啊。
SoftmaxWithLossLayer实现了LayerSetUp方法的。你什么说没有实现?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文