MCPcopy Create free account
hub / github.com/NVIDIA/TensorRT / parseBuffers

Method parseBuffers

parsers/caffe/caffeParser/caffeParser.cpp:312–344  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

310}
311
312const IBlobNameToTensor* CaffeParser::parseBuffers(const uint8_t* deployBuffer,
313 std::size_t deployLength,
314 const uint8_t* modelBuffer,
315 std::size_t modelLength,
316 INetworkDefinition& network,
317 DataType weightType) noexcept
318{
319 mDeploy = std::unique_ptr<trtcaffe::NetParameter>(new trtcaffe::NetParameter);
320 google::protobuf::io::ArrayInputStream deployStream(deployBuffer, deployLength);
321 if (!google::protobuf::TextFormat::Parse(&deployStream, mDeploy.get()))
322 {
323 RETURN_AND_LOG_ERROR(nullptr, "Could not parse deploy file");
324 }
325
326 if (modelBuffer)
327 {
328 mModel = std::unique_ptr<trtcaffe::NetParameter>(new trtcaffe::NetParameter);
329 google::protobuf::io::ArrayInputStream modelStream(modelBuffer, modelLength);
330 google::protobuf::io::CodedInputStream codedModelStream(&modelStream);
331#if GOOGLE_PROTOBUF_VERSION >= 3011000
332 codedModelStream.SetTotalBytesLimit(modelLength);
333#else
334 // Note: This WARs the very low default size limit (64MB)
335 codedModelStream.SetTotalBytesLimit(modelLength, -1);
336#endif
337 if (!mModel->ParseFromCodedStream(&codedModelStream))
338 {
339 RETURN_AND_LOG_ERROR(nullptr, "Could not parse model file");
340 }
341 }
342
343 return parse(network, weightType, modelBuffer != nullptr);
344}
345
346const IBlobNameToTensor* CaffeParser::parse(const char* deployFile,
347 const char* modelFile,

Callers 1

pyCaffe.cppFile · 0.80

Calls 1

getMethod · 0.45

Tested by

no test coverage detected