Apollo
11.0
自动驾驶开放平台
semantic_lstm_vehicle_torch_model.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2023 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#pragma once
18
19
#include <vector>
20
21
#include "torch/extension.h"
22
#include "torch/script.h"
23
24
#include "
cyber/plugin_manager/plugin_manager.h
"
25
#include "
modules/prediction/evaluator/model_manager/model/model_base.h
"
26
27
namespace
apollo
{
28
namespace
prediction {
29
30
class
SemanticLstmVehicleGpuTorch
:
public
ModelBase
{
31
public
:
32
SemanticLstmVehicleGpuTorch
() {}
33
~SemanticLstmVehicleGpuTorch
() {
Destory
();}
34
41
virtual
bool
Init
();
42
52
virtual
bool
Inference
(
const
std::vector<void*>& input_buffer,
53
unsigned
int
input_size,
54
std::vector<void*>* output_buffer,
55
unsigned
int
output_size);
56
62
virtual
bool
LoadModel
();
63
69
virtual
void
Destory
();
70
71
private
:
72
torch::jit::script::Module model_instance_;
73
};
74
CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN
(
75
apollo::prediction::SemanticLstmVehicleGpuTorch
, ModelBase)
76
77
}
// namespace prediction
78
}
// namespace apollo
apollo::prediction::ModelBase
Definition
model_base.h:25
apollo::prediction::SemanticLstmVehicleGpuTorch
Definition
semantic_lstm_vehicle_torch_model.h:30
apollo::prediction::SemanticLstmVehicleGpuTorch::Init
virtual bool Init()
parse model description class and load the model
Definition
semantic_lstm_vehicle_torch_model.cc:31
apollo::prediction::SemanticLstmVehicleGpuTorch::LoadModel
virtual bool LoadModel()
load the model from file
Definition
semantic_lstm_vehicle_torch_model.cc:56
apollo::prediction::SemanticLstmVehicleGpuTorch::Destory
virtual void Destory()
free all memory requested, gpu or cpu
Definition
semantic_lstm_vehicle_torch_model.cc:115
apollo::prediction::SemanticLstmVehicleGpuTorch::~SemanticLstmVehicleGpuTorch
~SemanticLstmVehicleGpuTorch()
Definition
semantic_lstm_vehicle_torch_model.h:33
apollo::prediction::SemanticLstmVehicleGpuTorch::SemanticLstmVehicleGpuTorch
SemanticLstmVehicleGpuTorch()
Definition
semantic_lstm_vehicle_torch_model.h:32
apollo::prediction::SemanticLstmVehicleGpuTorch::Inference
virtual bool Inference(const std::vector< void * > &input_buffer, unsigned int input_size, std::vector< void * > *output_buffer, unsigned int output_size)
performing network inference
Definition
semantic_lstm_vehicle_torch_model.cc:82
plugin_manager.h
CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN
#define CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN(name, base)
Definition
plugin_manager.h:272
model_base.h
apollo
class register implement
Definition
arena_queue.h:37
modules
prediction
evaluator
model_manager
model
semantic_lstm_vehicle_torch_gpu
semantic_lstm_vehicle_torch_model.h