ConvBaseProjection::ConvBaseProjection(const ProjectionConfig &config, ParameterPtr parameter, bool useGpu) : Projection(config, parameter, useGpu) { CHECK(useGpu); // only support GPU getConvParams(); initCudnn(); size_t height = filterH_ * filterW_ * channels_ / groups_; size_t width = numFilters_; weight_.reset(new Weight(height, width, parameter)); weightOffset_ = height * width / groups_; }
ConvBaseOperator::ConvBaseOperator(const OperatorConfig &config, bool useGpu) : Operator(config, useGpu) { CHECK(useGpu); CHECK_EQ(config_.input_indices_size(), 2L); caffeMode_ = true; getConvParams(); computeConvSizes(); // initialize all to default algorithms fwdAlgo_ = 0; bwdFilterAlgo_ = 0; bwdDataAlgo_ = 0; fwdLimitBytes_ = 0; bwdDataLimitBytes_ = 0; bwdFilterLimitBytes_ = 0; workSpaceInBytes_ = 0; workSpace_ = nullptr; isSelectAlgo_ = false; }