【使用Anaconda配置tensorflow+nlp环境】

使用Anaconda配置tensorflow+nlp环境

    • 前言
    • 配置过程
    • 问题

前言

最近想配置一个基于tensorflow的NLP环境,主要配置了transformers和tf-models-official这两个常用的库,其中一些库版本的选择基于自己的先前配置环境的经验,并参考了大量网上的资源,最终才艰难确定的版本。记录下配置过程:

配置过程

  1. conda创建虚拟环境
conda create -n tf23 python=3.8

注:基于先前配置环境的经验,经过反复验证发现,tensorflow 2.3版本问题比较少,所以创建的环境是以tensorflow 2.3为核心,选择的python版本为3.8(最终下载的python版本为3.8.13)。

  1. 下载Tensorflow 2.3.0
pip install tensorflow==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

注:

  • pip install命令后面建议加上源,本次配置环境使用的是清华源,为了简化书写,在后续下载相关库时省略配置pip下载源,记得自行加上:
    https://pypi.tuna.tsinghua.edu.cn/simple/
    加上后,体验飞一般的感觉。
  • 由于在配置这个环境之前,我已经用 conda install命令下载了许多库,在创建环境的过程中发现,下载一些库的时候,总是会默认从Anaconda的本地pkgs(缓存)文件夹中拉过来想要下载的相关库,这有时候会导致下载tensorflow库的时候,其关联的一些库版本不对,比如tensorflow-estimator,然后一直不知道怎么解决这个问题,因此配置这个环境的时候,选择主要以 pip install 命令为主。
  • 执行完上述命令后发现,tf23(正在配置的虚拟环境)已经包含了numpy=1.18.5
  1. 下载NLP相关库,我这里主要是transformers和tf-models-official
pip install tf-models-official==2.3.0
pip install transformers==4.16.2
pip install tensorflow-hub

注:
(1) 经过测试,tf-models-official版本的选择一般要和虚拟环境中的tensorflow版本一致,否则可能会报错
(2) 一般官网会对transformers各个版本有描述和相应的python、tensorflow、pytorch版本要求,可以自行选择相应的版本,地址:transformers版本选择

  • transformers简介:transformers是Hugging Face公司开发,一家专注于NLP的公司,其在github上的星数很高。

  • tf-models-official官方介绍: tf-models-official是使用TensorFlow高级API的模型,为TensorFlow用户提供了许多不同的最先进(SOTA)模型和建模解决方案。

  • TensorFlow Hub官方介绍: TensorFlow Hub 是包含各种预训练模型的综合代码库,这些模型稍作调整便可部署到任何设备上。借助 tensorflow_hub 库,您可以下载训练过的最新模型,并且只需编写少量代码即可使用这些模型。

  1. 其他下载
pip install matplotlib==3.3.4
pip install pandas==1.1.5
pip install scikit-learn==0.24.2	# sklearn版本貌似可以有更多的选择,大家可以试一下
# 其他所需......

注:
以上各个库版本的选择是经过我配置了好几个环境、历经了大量版本不兼容问题才得来的结果,供大家参考吧。

问题

  1. 如果你出现了这个问题:
    conda list和pip list中numpy的版本不一致,pip list下的numpy=1.23.1,而conda list下的numpy=1.18.5,通过以下方法解决:
    删除tf23虚拟环境中的numpy-1.18.5.dist-info文件夹,路径为:你的所有虚拟环境所在的目录\tf23\Lib\site-packages\numpy-1.18.5.dist-info,我的是E:\zp\appdata\annoconda\envs\tf23\Lib\site-packages
    参考:pip list和conda list不一致冲突

出现这个问题的原因可能是你下载库的顺序不对,下载原则是:

  • 优先下载比较大的库,比如tensorflow和tf-models-official等,一般下载了比较大的库,就会相应下载一些兼容的库,这样就可以少掉几根头发哈哈哈。
  1. 如果配置好以上相关库好,在jupyter notebook中导入相关库时,发现以下问题:
    TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See Installation — Jupyter Widgets 7.6.5 documentation from .autonotebook import tqdm as notebook_tqdm
  • 可以这样解决:
pip install ipywidgets widgetsnbextension pandas-profiling
jupyter nbextension enable --py widgetsnbextension

参考:TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. 报错处理方式

接下来就愉快的玩耍(掉头发)吧~

你可能感兴趣的:(tensorflow,自然语言处理,python,tensorflow,深度学习)