如何从内存缓冲区加载张量流图

VB4EVA

我正在尝试从内存而非文件中加载图形,以实现可移植性。到目前为止,我尝试的是

tensorflow::GraphDef graph_def;
tensorflow::protobuf::io::CodedInputStream coded_stream( buffer, size );

// Total bytes hard limit / warning limit are set to 1GB and 512MB respectively.
//    coded_stream.SetTotalBytesLimit( 1024LL << 20 );

if( !proto->ParseFromCodedStream( &coded_stream ) || !coded_stream.ConsumedEntireMessage() )
{
    return tensorflow::errors::DataLoss( "Can't parse ", "memory", " as binary proto" );
}

缓冲区是图形文件“ graph.pb”的字节数组(无符号char *)。此行的代码段错误:

proto-> ParseFromCodedStream(&coded_stream)

我也试图graph_def.ParseFromArray(data, len)想在这个岗位graph_def.ParseFromString( stringData )但它也崩溃。我想念什么吗?谢谢。

ps:我在Ubuntu16.04上使用Tensorflow 1.9和protobuf 2.6.1

编辑好到目前为止,我已经尝试了所有可能的分析功能,他们都崩溃,所以我必须错过了一些非常基本的。我尝试过的解析函数是:

  • ParseFromArray
  • ParseFromString
  • ParseFromCodedStream

首先,我将.pb文件读入字节数组,如下所示:

std::ifstream is( "graph.pb", std::ios::binary );
std::vector<unsigned char> buffer(std::istreambuf_iterator<char>(is), {});

接下来,我将其转换为字符串:

string data(buffer.begin(), buffer.end());

最后,我打电话

graph_def.ParseFromString( data )

崩溃了,与相同ParseFromArray()令人讨厌的部分是它崩溃而不是返回错误,这使我认为我一定错过了一些基本知识。

VB4EVA

崩溃的原因是由于系统上安装protobuf运行时库版本与链接代码的版本之间不匹配特别是,这是错误:

This program requires version 3.5.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1.

我将protobuf升级到了3.5.0,并且工作正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重叠缓冲区的内存

来自分类Dev

如何在内存流中获取word文件,将其存储在缓冲区中并以PDF格式返回?

来自分类Dev

如何使用流解析缓冲区中的行?

来自分类Dev

如何从缓冲区返回文件流?

来自分类Dev

如何在流缓冲区C中添加参数

来自分类Dev

如何使用puppeteer获取下载流(缓冲区)?

来自分类Dev

如何使用流解析缓冲区中的行?

来自分类Dev

如何在NSIS中本机访问内存缓冲区

来自分类Dev

如何“加载文件”当前缓冲区的关联文件?

来自分类Dev

如何“加载文件”当前缓冲区的关联文件?

来自分类Dev

在不清除缓冲区的情况下浏览httppostedbase内存流

来自分类Dev

在不清除缓冲区的情况下浏览httppostedbase内存流

来自分类Dev

线程安全的缓冲区包装流

来自分类Dev

流缓冲区(cin,getline等)

来自分类Dev

流混乱,了解缓冲区

来自分类Dev

流缓冲区中的默认内容

来自分类Dev

流和缓冲区的关系?

来自分类Dev

WebGL-从内存渲染缓冲区

来自分类Dev

共享内存缓冲区Postgresql

来自分类Dev

共享内存环缓冲区崩溃

来自分类Dev

加载所有缓冲区后,如何加载vim python脚本?

来自分类Dev

如何可移植地获取文件流的缓冲区大小?

来自分类Dev

tinyxml2:如何知道从流缓冲区成功读取的字符数

来自分类Dev

如何为MJPG流释放图像缓冲区中的存储空间?

来自分类Dev

tinyxml2:如何知道从流缓冲区成功读取的字符数

来自分类Dev

如何获得反应流中最后两个项目的滚动缓冲区?

来自分类Dev

如何在套接字流缓冲区中添加空终止。C

来自分类Dev

释放包含动态缓冲区的动态缓冲区中的内存

来自分类Dev

在R中,如何以SVG格式绘制并输出到内存缓冲区而不是文件

Related 相关文章

热门标签

归档