【问题标题】:Tensorflow Object Detection Api M1 Macbook Conflict ErrorTensorflow 对象检测 Api M1 Macbook 冲突错误
【发布时间】:2021-10-26 21:39:57
【问题描述】:

机器:MacBook Air M1 2020

操作系统:ma​​cOs BigSur 11.4

venv 的 Python 版本:Python 3.8.6

Tensorflow 版本:ATF Apple Tensorflow 0.1a3

Pip 版本:21.2.4

我已经使用 this guidegithub 安装了 Tensorflow。


现在,我的点子列表是这样的。

Package                 Version
----------------------- ---------
absl-py                 0.13.0
appnope                 0.1.2
astunparse              1.6.3
backcall                0.2.0
cached-property         1.5.2
cachetools              4.2.2
certifi                 2021.5.30
charset-normalizer      2.0.4
cycler                  0.10.0
Cython                  0.29.24
debugpy                 1.4.1
decorator               5.0.9
entrypoints             0.3
flatbuffers             2.0
gast                    0.5.2
google-auth             1.35.0
google-auth-oauthlib    0.4.5
google-pasta            0.2.0
grpcio                  1.33.2
h5py                    2.10.0
idna                    3.2
ipykernel               6.2.0
ipython                 7.26.0
ipython-genutils        0.2.0
jedi                    0.18.0
jupyter-client          7.0.1
jupyter-core            4.7.1
Keras-Preprocessing     1.1.2
kiwisolver              1.3.1
Markdown                3.3.4
matplotlib              3.4.3
matplotlib-inline       0.1.2
nest-asyncio            1.5.1
numpy                   1.18.5
oauthlib                3.1.1
opt-einsum              3.3.0
packaging               21.0
parso                   0.8.2
pexpect                 4.8.0
pickleshare             0.7.5
Pillow                  8.3.1
pip                     21.2.4
prompt-toolkit          3.0.20
protobuf                3.17.3
ptyprocess              0.7.0
pyasn1                  0.4.8
pyasn1-modules          0.2.8
Pygments                2.10.0
pyparsing               2.4.7
python-dateutil         2.8.2
pyzmq                   22.2.1
requests                2.26.0
requests-oauthlib       1.3.0
rsa                     4.7.2
setuptools              57.4.0
six                     1.16.0
tensorboard             2.6.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit  1.8.0
tensorflow-addons       0.1a3
tensorflow-estimator    2.6.0
tensorflow-hub          0.12.0
tensorflow              0.1a3
termcolor               1.1.0
tornado                 6.1
traitlets               5.0.5
typeguard               2.12.1
typing-extensions       3.10.0.0
urllib3                 1.26.6
wcwidth                 0.2.5
Werkzeug                2.0.1
wheel                   0.37.0
wrapt                   1.12.1

我想在 link 中安装来自 Tensorflow 的 Object Detection Api。


我克隆了 repo,我关注 guide。 (Python包安装)


当我执行这个命令时

python -m pip install --use-feature=2020-resolver .

它开始下载,并开始打印很长的错误。

在操作结束时,它给了我这个错误。

  Using cached scipy-1.2.3.tar.gz (23.3 MB)
Collecting pandas
  Using cached pandas-1.3.2-cp38-cp38-macosx_11_0_arm64.whl
Collecting tf-models-official>=2.5.1
  Using cached tf_models_official-2.6.0-py2.py3-none-any.whl (1.8 MB)
Collecting kaggle>=1.3.9
  Using cached kaggle-1.5.12-py3-none-any.whl
Collecting py-cpuinfo>=3.3.0
  Using cached py_cpuinfo-8.0.0-py3-none-any.whl
Requirement already satisfied: numpy>=1.15.4 in /Users/stefan/Desktop/Studio/TFOD/tf-m1/lib/python3.8/site-packages (from tf-models-official>=2.5.1->object-detection==0.1) (1.18.5)
Collecting opencv-python-headless
  Using cached opencv_python_headless-4.5.3.56-cp38-cp38-macosx_11_0_arm64.whl (10.7 MB)
Collecting tf-models-official>=2.5.1
  Using cached tf_models_official-2.5.1-py2.py3-none-any.whl (1.6 MB)
Collecting tensorflow-datasets
  Using cached tensorflow_datasets-4.4.0-py3-none-any.whl (4.0 MB)
Collecting google-api-python-client>=1.6.7
  Downloading google_api_python_client-2.18.0-py2.py3-none-any.whl (7.4 MB)
     |████████████████████████████████| 7.4 MB 3.4 MB/s 
Collecting oauth2client
  Using cached oauth2client-4.1.3-py2.py3-none-any.whl (98 kB)
Collecting tensorflow-model-optimization>=0.4.1
  Using cached tensorflow_model_optimization-0.6.0-py2.py3-none-any.whl (211 kB)
Collecting pyyaml>=5.1
  Downloading PyYAML-5.4.1.tar.gz (175 kB)
     |████████████████████████████████| 175 kB 31.3 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting gin-config
  Using cached gin_config-0.4.0-py2.py3-none-any.whl (46 kB)
Collecting sacrebleu
  Using cached sacrebleu-2.0.0-py3-none-any.whl (90 kB)
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of object-detection to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install object-detection because these package versions have conflicting dependencies.

The conflict is caused by:
    tf-models-official 2.6.0 depends on tensorflow-text>=2.5.0
    tf-models-official 2.5.1 depends on tensorflow-addons

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

【问题讨论】:

    标签: python tensorflow dependencies object-detection-api apple-m1


    【解决方案1】:

    我在我的 MacBook Air M1 2020 上从源安装 Tensorflow 2 (OD API) 的对象检测 API 时遇到了同样的问题。它开始查找/下载所有可用的依赖项,但错误很长,几个小时后,这个过程耗尽了所有可用 RAM 并强制笔记本电脑重新启动。我认为问题在于 arm64 的不兼容依赖项。我尝试为 Tensorflow 1 构建/安装 OD API,它成功了!我成功地训练了一个启用了 TensorFlow 2 和 GPU 的模型。

    在安装 OD API 时使用tf1 文件夹而不是tf2

    cd models/research
    # Compile protos.
    protoc object_detection/protos/*.proto --python_out=.
    # Install TensorFlow Object Detection API.
    cp object_detection/packages/tf1/setup.py .
    python -m pip install --use-feature=2020-resolver .
    

    或仅使用本指南安装 OD API:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1.md

    顺便说一句,

    【讨论】:

      【解决方案2】:

      我成功安装了。

      python -m pip install --force --no-dependencies . 
      

      我为 m1 正确安装 tf2.0 的命令列表

      conda create —-name=tf-m1
      conda activate tf-m1
      conda install python=3.8.6 -y
      sh Desktop/PATH TO GITHUB DIR OF TENSORFLOW MAC(i used 0.1a3)/install_venv.sh /Users/stefan/miniforge3/envs/tf-m1
      python -m pip install --upgrade pip
      pip install ipykernel jupyter
      python -m ipykernel install --user --name=tensorflow-m1.0
      Tensorflow Test : ok  (import tensorflow as tf; print(tf.__version__))
      

      现在使用 CONDA 安装

      conda install -c conda-forge matplotlib -y
      conda install -c conda-forge scikit-learn -y
      conda install -c conda-forge opencv -y
      conda install -c conda-forge pandas -y
      

      张量流测试:好的

      cd Desktop/PATH/
      mkdir -p Tensorflow/models
      git clone https://github.com/tensorflow/models Tensorflow/models
      cd Tensorflow/models/research && protoc object_detection/protos/*.proto --python_out=. && cp object_detection/packages/tf2/setup.py . && python -m pip install --force --no-dependencies . 
      

      对象检测 api 有一些我已经安装的依赖项。 (目前不支持 Pyarrow 和 apache-beam,但我认为这对于 api 的一般工作不是必需的)

      pip install tf-slim
      pip install pycocotools
      pip install lxml
      pip install lvis
      pip install contextlib2
      pip install --no-dependencies tf-models-official
      pip install avro-python3
      pip install pyyaml
      Pip install gin-config
      

      我不知道这是否是 Tensorflow 和 TensorFlow object-detection-api 的完美安装,但目前这对我有用。

      【讨论】:

        【解决方案3】:

        如果您升级到 OS Monterey 并从 miniforge 和下面列出的软件包安装 conda,事情应该会更好。

        截至 2021 年 10 月 25 日,macOS 12 Monterey 为 generally available

        将您的机器升级到 Monterey。

        如果您安装了 conda,请将其卸载。

        然后按照 Apple here 的说明进行操作。

        在下面清理:

        从 Miniforge 下载并安装 Conda:

        chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
        sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
        source ~/miniforge3/bin/activate
        

        在 conda 环境中,安装 TensorFlow 依赖项、基础 TensorFlow 和 TensorFlow metal:

        conda install -c apple tensorflow-deps
        pip install tensorflow-macos
        pip install tensorflow-metal
        

        你应该很高兴。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-04
          • 1970-01-01
          • 2022-01-25
          • 1970-01-01
          相关资源
          最近更新 更多