小编Don*_* Li的帖子

使用protobuf序列化图像流

我在Ubuntu中有两个程序:一个C++程序(TORCS游戏)和一个python程序.C++程序总是生成图像.我想将这些实时图像转换为python(也许是numpy.ndarray格式).所以我认为可能使用Google protobuf将图像序列化为字符串并通过ZMQ将字符串发送到python客户端是一种可行的方法.

问题:哪种值类型适合文件中的图像(指针).proto?换句话说,string在下面的例子中,我应该使用哪种值类型来替换类型?

message my_image{
     repeated string image = 1
     }
Run Code Online (Sandbox Code Playgroud)

这是我将图像写入内存的方式(uint8_t*image_data):

glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*)image_data);
Run Code Online (Sandbox Code Playgroud)

最后,也许有更好的方法将图像(在内存中)传输到python客户端?

任何建议表示赞赏.

c++ python protocol-buffers

8
推荐指数
1
解决办法
4354
查看次数

Pycharm找不到已安装的软件包:keras

我在运行Ubuntu 14.04的PC上安装了pycharm-2016.1.4.我已经安装了keras(一个python包),pip install keras而pycharm 之前可以找到它.但它无法找到keras 现在.我不修改任何设置,所以这个问题可能是有线的.我的python版本是python2.7. 在此输入图像描述

pip list用来验证我是否安装了keras:

在此输入图像描述

但是使用以下命令检查pycharm中的这个包:Settings - > Project - > Project Interpreter.Keras是NOT在包列表(所用的解释器是相同的结果,which python在终端).

欢迎任何建议.谢谢.

python pycharm python-2.7 keras

6
推荐指数
2
解决办法
1万
查看次数

有什么pytorch工具可以监视神经网络的训练吗?

是否有任何工具可以监控PyTorch中的网络培训?就像tensorflow中的tensorboard。

neural-network deep-learning tensorboard pytorch

5
推荐指数
2
解决办法
4540
查看次数

如何通过python protobuf解析C++ protobuf二进制数据?

我使用C++ protobuf将数据序列化为字符串.

/***** cpp code *****/
string serialized_data;
message_cpp.SerializeToString(&serialized_data);
Run Code Online (Sandbox Code Playgroud)

问题:我可以serialized_data在python中解析吗?如何?

我尝试了以下代码,但它没有用.

##### python code
message_python = foo.ParseFromString(serialized_data)
print message_python
Run Code Online (Sandbox Code Playgroud)

但我得到None的输出print message_python.我也试过了

##### python code
message_python = foo.MergeFromString(serialized_data)
print message_python
Run Code Online (Sandbox Code Playgroud)

但我得到字符串的长度serialized_data作为输出print message_python,即message_python == len(serialized_data).这个结果与python protobuf API一致.

这是否意味着我无法解析在C++中序列化的python中的二进制数据?

更新:

我的目标:C++服务器总是生成图像流,图像被发送到python服务器.

这是我的整个代码:

.proto文件:

message MyImage{
    repeated int32 width = 1;
    repeated int32 height = 2;
    repeated bytes image = 3;
}
Run Code Online (Sandbox Code Playgroud)

C++服务器:

zmq::context_t context(1);
zmq::socket_t socket(context, …
Run Code Online (Sandbox Code Playgroud)

c++ python protocol-buffers

3
推荐指数
1
解决办法
1896
查看次数