Apollo 11.0
自动驾驶开放平台
rt_utils.cc
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2018 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
18
19#include <fcntl.h>
20
21#include <limits>
22
23#include "cyber/common/log.h"
24
25namespace apollo {
26namespace perception {
27namespace inference {
28
29bool ReadProtoFromTextFile(const std::string &filename,
30 google::protobuf::Message *proto) {
31 int fd = open(filename.c_str(), O_RDONLY);
32 if (fd < 0) {
33 AERROR << "cannot open file " << filename;
34 return false;
35 }
36 google::protobuf::io::FileInputStream raw_input(fd);
37
38 bool success = google::protobuf::TextFormat::Parse(&raw_input, proto);
39
40 close(fd);
41 return success;
42}
43
44bool ReadProtoFromBinaryFile(const std::string &filename,
45 google::protobuf::Message *proto) {
46 int fd = open(filename.c_str(), O_RDONLY);
47 if (fd < 0) {
48 AERROR << "cannot open file " << filename;
49 return false;
50 }
51 google::protobuf::io::FileInputStream raw_input(fd);
52 google::protobuf::io::CodedInputStream coded_input(&raw_input);
53 coded_input.SetTotalBytesLimit(std::numeric_limits<int>::max(), 536870912);
54
55 bool success = proto->ParseFromCodedStream(&coded_input);
56
57 close(fd);
58 return success;
59}
60bool loadNetParams(const std::string &param_file, NetParameter *param) {
61 return ReadProtoFromTextFile(param_file, param);
62}
63std::string locateFile(const std::string &network, const std::string &input) {
64 return network + "/" + input;
65}
66} // namespace inference
67} // namespace perception
68} // namespace apollo
#define AERROR
Definition log.h:44
bool ReadProtoFromTextFile(const std::string &filename, google::protobuf::Message *proto)
Definition mi_utils.cc:29
std::string locateFile(const std::string &network, const std::string &input)
Definition mi_utils.cc:63
bool loadNetParams(const std::string &param_file, NetParameter *param)
Definition mi_utils.cc:60
bool ReadProtoFromBinaryFile(const std::string &filename, google::protobuf::Message *proto)
Definition mi_utils.cc:44
class register implement
Definition arena_queue.h:37