如何安装 TensorFlow 2 和 object_detection 模块?
Posted
技术标签:
【中文标题】如何安装 TensorFlow 2 和 object_detection 模块?【英文标题】:How do I install TensorFlow 2 & the object_detection module? 【发布时间】:2021-10-25 07:38:49 【问题描述】:背景
我一直在努力学习this 视频中的教程。目标是尝试安装 TensorFlow 和 TensorFlow 的 object_detection 模块。
目标
如何安装它以便我可以按照教程的其余部分进行操作?我只想安装CPU版本。
其他信息
我遇到的错误
ERROR: Could not find a version that satisfies the requirement tensorflow==2.1.0 (from versions: None) ERROR: No matching distribution found for tensorflow
ERROR: tensorflow.whl is not a supported wheel on this platform.
##研究##
-
https://github.com/tensorflow/tensorflow/issues/39130
Tensorflow installation error: not a supported wheel on this platform
【问题讨论】:
【参考方案1】:序幕
我发现这非常复杂,如果其他人有更简单的方法来安装这个包,请让其他人知道。
主要资源是https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html#set-env
步骤总结
-
python(x64 位)的最新更新,您可以在此处安装 -
从最新版本的 python 创建一个虚拟环境
从 Google 获取最新版本的 TensorFlow - https://www.tensorflow.org/install/pip#package-location
使用带有 --upgrade 标签和上述步骤链接的 pip 安装最新版本的 TensorFlow
获取最新版本的protoc(数据传输协议)-https://github.com/protocolbuffers/protobuf/releases
安装 protoc 并将位置添加到路径,以便您以后轻松调用它
从这里获取 TensorFlow Garden 文件 - https://github.com/tensorflow/models
复制到一个位置并添加一个文件夹结构模型
使用 protoc 为 TensorFlow Garden 中的每个模型编译 Protobufs
设置 COCO API 以连接 COCO 数据集
在 TensorFlow Garden object_detection 模块中从 TensorFlow2 复制设置文件
运行 object_detection 模块的安装并希望一切顺利
详细说明
-
第一次尝试安装 object_detection 时遇到问题,因为我的 python 版本不受支持
前往此页面获取最新版本 - https://www.python.org/downloads/
点击“下载 Python 3.9.X”
下载后,运行安装文件
导航到安装 python 的位置并将路径复制到可执行文件。
通过 Windows 键打开命令提示符 -> cmd
使用
cd "path/to/change/directory/to"
导航到您想要创建虚拟环境的位置
然后输入"previously/copied/python/executable/path/python.exe" -m venv "name_of_your_virtual_environment"
TensorFlow 似乎是由 google storage api 支持而不是由 pip 来找到最新稳定 TensorFlow 使用的链接
这个网站https://www.tensorflow.org/install/pip#package-location
现在获取与您的 python 版本匹配的 TensorFlow 安装链接。
因为我的是 3.9 版和 windows 我得到了这个链接 - https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.6.0-cp39-cp39-win_amd64.whl
通过从虚拟环境“name_of_your_virtual_environment”获取 python.exe 来安装 TensorFlow"name_of_your_virtual_environment/Scripts/python.exe" -m pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.6.0-cp39-cp39-win_amd64.whl
请注意,出于某种原因,您必须使用升级标签
因为 TensorFlow 是 Google 的东西,所以他们使用一种称为 Protobuffs 的特殊数据交换格式
通过导航到他们的网站查找此工具的最新版本 - https://github.com/protocolbuffers/protobuf/releases
在与您的操作系统(即 windows 和架构 x64)匹配的最新版本下查找链接
我选择了https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protoc-3.17.3-win64.zip
要安装这个东西,解压 .zip 文件并放入“C://Program Files/Google Protoc”
获取包含 protoc 可执行文件的文件夹位置并将其添加到您的环境变量中
要编辑您的环境变量,请按 Windows 键并搜索“环境变量”,然后单击“编辑系统环境变量”
然后点击“环境变量”
导航到用户下的“路径”环境变量,选择它并单击编辑
单击新建并粘贴 protoc 的可执行位置,即“C:/Program Files/GoogleProtoc/bin”
现在获取研究人员支持且独立于基础 TensorFlow 的 object_detection 模块的实际代码
导航到 TensorFlow Garden - https://github.com/tensorflow/models
下载或克隆存储库
使用以下结构将文件复制到另一个位置
TensorFlow
-> 模型(您必须添加此文件夹)-> 社区
-> 官方
-> 轨道
-> 研究
重新启动命令提示符。它需要重新启动以考虑环境变量的变化。在这种情况下
路径,因为您在那里添加了 protoc 以便更轻松地从命令提示符调用
同样是 Windows 键 -> 搜索 cmd
使用cd "TensorFlow/models/research/"
在研究文件夹中导航
运行命令下载并编译Protobuf库for /f %i in ('dir /b object_detection\protos\*.proto') do protoc object_detection\protos\%i --python_out=.
安装 COCO API 以便您可以访问数据集。这是 TensorFlow 的 object_detection api 的要求
确保您仍在“TensorFlow/models/research/”文件夹中
使用copy object_detection/packages/tf2/setup.py .
将设置python文件复制到您所在的文件夹
现在使用 pip 执行安装"name_of_your_virtual_environment/Scripts/python.exe" -m pip install --use-feature=2020-resolver
将 TensorFlow 2 的设置 python 文件移动到将安装 object_detection 模块的目录中。
进入“TensorFlow/models/research/object_detection/packages/tf2/setup.py”并将其移至“TensorFlow/models/research/object_detection/setup.py”
现在运行 object_detection 模块的安装过程
打开 CMD 并使用 cd 命令导航到“TensorFlow/models/research/object_detection/”
使用您的虚拟环境运行脚本"name_of_your_virtual_environment/Scripts/python.exe" setup.py
错误指南
ERROR: Could not find a version that satisfies the requirement tensorflow==2.1.0 (from versions: None) ERROR: No matching distribution found for tensorflow
出现这种情况是因为您的 Python 版本不正确或架构错误 32 位而不是 64 位。通过下载新版本的 Python 并创建新的虚拟环境来解决此问题。
ERROR: tensorflow.whl is not a supported wheel on this platform.
与您的 Python 版本类似,可能是错误的,或者您从 Google Storage API 的 TensorFlow 存储库中选择了错误的链接。从头开始,下载最新版本的 Python,创建新的虚拟环境,然后下载与 Python 版本、操作系统(例如 MAC、Linux 或 Windows)相匹配的正确版本的 TensorFlow。
【讨论】:
以上是关于如何安装 TensorFlow 2 和 object_detection 模块?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上的 Python 2.7 上安装 Tensorflow?