具有特定TensorFlow和Numpy版本的Conda环境

Conda Environment with specific Tensorflow and Numpy Version(具有特定TensorFlow和Numpy版本的Conda环境)

本文介绍了具有特定TensorFlow和Numpy版本的Conda环境的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要为TensorFlow设置一个Conda环境。我通过环境.yml文件执行此操作。我必须指定我的TensorFlow版本(最新的2.5.0),因为否则Conda将安装TF1.14。但因为TensorFlow似乎不能与最新的NumPy版本正常工作,所以我想使用NumPy 1.19或更早的版本。使用以下环境.yml Conda无法解决环境,它显示Found conflicts! Looking for incompatible packages.,但之后Conda无法解决问题。

name: gi-project
channels:
  - conda-forge
  - defaults
dependencies:
  - numpy=1.19
  - tensorflow=2.5.0
  - matplotlib
  - jupyterlab
  - pandas
  - joblib
  - scikit-learn
  - netcdf4

为什么会这样?我以为Conda环境的原因是要处理不同版本的包?

推荐答案

conda查看要安装的包,检查它们的依赖关系,然后确定哪些版本可以协同工作。因此,包维护人员会施加限制。如果我们这样做

conda search --info tensorflow

我们看到它依赖于tensorflow-base=2.5.0

tensorflow 2.5.0 mkl_py38hbe2df88_0
-----------------------------------
file name   : tensorflow-2.5.0-mkl_py38hbe2df88_0.conda
name        : tensorflow
version     : 2.5.0
build       : mkl_py38hbe2df88_0
build number: 0
size        : 4 KB
license     : Apache 2.0
subdir      : win-64
url         : https://repo.anaconda.com/pkgs/main/win-64/tensorflow-2.5.0-mkl_py38hbe2df88_0.conda
md5         : dc6f851db06000dc1e22965fc7f8946a
timestamp   : 2021-07-02 17:21:52 UTC
dependencies:
  - _tflow_select 2.3.0 mkl
  - python 3.8.*
  - tensorboard >=2.5.0
  - tensorflow-base 2.5.0 mkl_py38h9201259_0
  - tensorflow-estimator >=2.5.0

继续往下走,conda search --info tensorflow-base=2.5.0

tensorflow-base 2.5.0 mkl_py38h9201259_0
----------------------------------------
file name   : tensorflow-base-2.5.0-mkl_py38h9201259_0.conda
name        : tensorflow-base
version     : 2.5.0
build       : mkl_py38h9201259_0
build number: 0
size        : 63.3 MB
license     : Apache 2.0
subdir      : win-64
url         : https://repo.anaconda.com/pkgs/main/win-64/tensorflow-base-2.5.0-mkl_py38h9201259_0.conda
md5         : fe8fa6dfa600d9158984e0676cf000db
timestamp   : 2021-06-25 13:11:22 UTC
dependencies:
  - abseil-cpp >=20210324.2,<20210324.3.0a0
  - absl-py >=0.10.0
  - astunparse >=1.6.3
  - flatbuffers
  - gast 0.4.0
  - giflib >=5.2.1,<5.3.0a0
  - google-pasta >=0.2
  - grpcio
  - h5py >=3.1.0
  - icu >=68.1,<69.0a0
  - jpeg >=9b,<10a
  - keras-preprocessing >=1.1.2
  - libcurl >=7.71.1,<8.0a0
  - libpng >=1.6.37,<1.7.0a0
  - libprotobuf >=3.14.0,<3.15.0a0
  - numpy >=1.20
  - openssl >=1.1.1k,<1.1.2a
  - opt_einsum 3.3.0.*
  - protobuf >=3.9.2
  - python >=3.8,<3.9.0a0
  - python-flatbuffers 1.12.*
  - scipy >=1.6.2
  - six >=1.15.0
  - snappy >=1.1.8,<2.0a0
  - sqlite >=3.36.0,<4.0a0
  - tensorboard >=2.5.0,<2.6
  - tensorflow-estimator >=2.5.0,<2.6
  - termcolor >=1.1.0
  - typing_extensions >=3.7.4
  - vc >=14.2,<15.0a0
  - vs2015_runtime >=14.27.29016,<15.0a0
  - wheel >=0.35,<0.36
  - wrapt >=1.11.2
  - zlib >=1.2.11,<1.3.0a0

如您所见,numpy>=1.20是必需的。因此,conda只能继续确定您的要求不可能放在一起,因为创建tensorflow-base=2.5.0包的人已指定它不能与numpy<1.20

一起使用

如果您不想使用最新版本(1.21),我建议您尝试使用numpy=1.20

这篇关于具有特定TensorFlow和Numpy版本的Conda环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:具有特定TensorFlow和Numpy版本的Conda环境