22 namespace perception {
28 input_dims_.nbDims = in_dims.nbDims;
29 for (
int i = 0; i < in_dims.nbDims; i++) {
30 input_dims_.d[i] = in_dims.d[i];
31 input_dims_.type[i] = in_dims.type[i];
33 axis_ = param.axis() - 1;
35 CHECK_LE(axis_ + 1, input_dims_.nbDims);
38 for (
int i = axis_ + 1; i < input_dims_.nbDims; i++) {
39 inner_num_ *= input_dims_.d[i];
42 for (
int i = 0; i < axis_; i++) {
43 outer_num_ *= input_dims_.d[i];
45 cudnnCreateTensorDescriptor(&input_desc_);
46 cudnnCreateTensorDescriptor(&output_desc_);
52 cudnnDestroyTensorDescriptor(input_desc_);
53 cudnnDestroyTensorDescriptor(output_desc_);
57 cublasCreate(&cublas_);
61 cublasDestroy(cublas_);
67 int nbInputDims)
override {
68 nvinfer1::Dims out_dims = inputs[0];
72 void configure(
const nvinfer1::Dims *inputDims,
int nbInputs,
73 const nvinfer1::Dims *outputDims,
int nbOutputs,
74 int maxBatchSize)
override {
75 input_dims_ = inputDims[0];
80 int enqueue(
int batchSize,
const void *
const *inputs,
void **outputs,
81 void *workspace, cudaStream_t stream)
override;
86 char *d =
reinterpret_cast<char *
>(buffer), *a = d;
88 CHECK_EQ(d, a + size);
93 cublasHandle_t cublas_;
94 nvinfer1::Dims input_dims_;
98 cudnnTensorDescriptor_t input_desc_;
99 cudnnTensorDescriptor_t output_desc_;
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: softmax_plugin.h:25
SoftmaxPlugin()
Definition: softmax_plugin.h:49
nvinfer1::Dims getOutputDimensions(int index, const nvinfer1::Dims *inputs, int nbInputDims) override
Definition: softmax_plugin.h:66
size_t getWorkspaceSize(int maxBatchSize) const override
Definition: softmax_plugin.h:78
virtual void terminate()
Definition: softmax_plugin.h:60
int getNbOutputs() const override
Definition: softmax_plugin.h:64
size_t getSerializationSize() override
Definition: softmax_plugin.h:83
void configure(const nvinfer1::Dims *inputDims, int nbInputs, const nvinfer1::Dims *outputDims, int nbOutputs, int maxBatchSize) override
Definition: softmax_plugin.h:72
SoftmaxPlugin(const SoftmaxParameter ¶m, nvinfer1::Dims in_dims)
Definition: softmax_plugin.h:27
void serialize(void *buffer) override
Definition: softmax_plugin.h:85
int enqueue(int batchSize, const void *const *inputs, void **outputs, void *workspace, cudaStream_t stream) override
~SoftmaxPlugin()
Definition: softmax_plugin.h:51
virtual int initialize()
Definition: softmax_plugin.h:55