Skip to main content
 首页 » 编程设计

python之Caffe 和 TensorFlow Protobuf之维护不同的版本

2025年05月04日45jackei

我已经在我的 Ubuntu15.10x64 机器上使用 protobuf 2.6.1 安装了 Caffe。另外,截至今天,我使用 virtualenv 安装了 TensorFlow,但 TensorFlow 需要 protobuf 3.0。据我所知,virtualenv 支持对 python 项目使用不同的库。我可以在 (tensorflow) virtualenv 中安全地 pip install --upgrade protobuf 而不会中断我的 Caffe 安装吗 - 因此默认使用 protobuf 2.6 和 protobuf 3.0 在我的 TensorFlow 使用的 virtualenv 中?

或者是使用 Docker 安装或在虚拟机中创建克隆的唯一解决方案?聊胜于无,但我想充分利用我的 GPU。

感谢您的帮助和澄清。

编辑:

所以,这就是我尝试更新 protobuf 时发生的情况 ->

(tensorflow)peter@UNIGMA:~$ pip install --upgrade protobuf  
Requirement already up-to-date: protobuf in /usr/local/lib/python2.7/dist-packages  
Requirement already up-to-date: setuptools in ./tensorflow/lib/python2.7/site-packages (from protobuf)  
Cleaning up...  

如果我检查版本,这就是它返回的内容 ->

(tensorflow)peter@UNIGMA:~$ pip show protobuf 
--- 
Name: protobuf 
Version: 2.6.1 
Location: /usr/local/lib/python2.7/dist-packages 
Requires: setuptools 
(tensorflow)peter@UNIGMA:~$ pip -V 
pip 1.5.6 from /home/peter/tensorflow/local/lib/python2.7/site-packages (python 2.7) 

我必须手动更新 protobuf 吗?我想我会在 ./tensorflow/lib/python2.7/dist-packages 中创建一个包含我需要的版本的 protobuf 文件夹?

请您参考如下方法:

请注意,您的 virtualenv 看不到来自外部的包,因此您根本不应该在您的 virtualenv 中看到 protobuf,即使您已将其全局安装在系统中(或在 Caffe 的 virtualenv 中,具体取决于您的设置) .

在 TensorFlow 的 virtualenv 中运行 pip install protobuf 应该是安全的,它不会破坏您的全局设置或您拥有的任何其他 virtualenv。