如何组合Python 32位和64位模块

2024-07-07 06:07:37 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的一个机器人项目中,我试图从Nao机器人的相机中获取图像,并使用Tensorflow进行物体识别。在

问题是机器人的naoqiapi是基于Python2.72bit构建的。 (http://doc.aldebaran.com/1-14/dev/python/install_guide.html

Tensorflow对象识别API仅适用于64位。(https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.mdhttps://www.tensorflow.org/install/install_windows

我使用的是Windows10,我安装了Python2.7 32位和3.6 64位,我可以独立运行这些模块,但我无法在两者之间传递图像。在

有没有解决这个问题的方法?谢谢您。在


Tags: install项目https图像comhttpdoctensorflow
1条回答
网友
1楼 · 发布于 2024-07-07 06:07:37

我不认为有一种方法可以让两个模块在同一个解释器中工作,如果你说一个只有32位,另一个只有64位。在

因此,考虑运行两个解释器,并让它们通过消息交换、远程过程调用等相互通信。在

我强烈反对使用共享内存部分,UNIX或TCP套接字,因为有太多的低级细节需要处理,这会分散您对工作真正目标的注意力。在

相反,考虑一些高级库,比如zeromq,它也有python bindings,而且使用起来非常简单:您可以沿着线路发送二进制数据、字符串或python对象,它们将使用pickle自动序列化和反序列化。在

有用的读数:

客户示例:

import zmq

context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")

print("Sending request...")
socket.send_string("Hello")
#  Get the reply.
message = socket.recv_string()
print(f"Received reply: {message}")

示例服务器:

^{pr2}$

socket.send_string()类似,有socket.send_json(),和{}。在

选中the documentation。在

相关问题 更多 >