我应该如何安装和导入simpletransformers?

时间:2019-12-20 09:56:08

标签: python pip anaconda conda

我一直在使用以下conda和python版本:

conda版本:4.6.14

conda构建版本:3.17.8

python版本:3.7.3.final.0

我以以下方式安装了simpletransformers:

conda create -n simpletransformers python pandas tqdm
conda activate simpletransformers

conda install pytorch cpuonly -c pytorch
conda install -c anaconda scipy
conda install -c anaconda scikit-learn
pip install transformers
pip install seqeval
pip install tensorboardx

pip install simpletransformers

这样做之后,我一直在尝试导入分类模型,但运气不佳:

import simpletransformers

我收到以下错误:

ModuleNotFoundError:没有名为“ simpletransformers”的模块

有人可以指出我要去哪里了吗?我正在使用PyCharm作为我的IDE。

3 个答案:

答案 0 :(得分:1)

setup docs在Mac和Ubuntu上使用Anaconda为我工作:

  1. 安装Anaconda或Miniconda
  2. 创建一个新的虚拟python 3.7环境并安装pandas和tqdm
    conda create -n simplet python=3.7 pandas tqdm
    conda activate simplet
  3. PyTorch
    3个GPU(模型中的use_cuda=True):conda install pytorch cudatoolkit=10.1 -c pytorch
    3羽CPU(模型中的use_cuda=False):conda install pytorch cpuonly -c pytorch
  4. 如果您想在NVIDIA GPU上使用fp16培训,请安装apex(不要使用pip
  5. 安装simpletransformers。
    pip install simpletransformers

答案 1 :(得分:0)

从“ https://pypi.org/project/simpletransformers/#files”下载.whl文件

  • 打开命令提示符
  • 类型pip install "path/simpletransformers-0.13.2-py3-none-any.whl" and hit enter 检查软件包是否已安装。 请注意,simpletransformers需要Python'> = 3.6'

答案 2 :(得分:0)

每当有无法通过Anaconda Cloud使用的软件包时,即必须从PyPI或GitHub安装,然后为其创建YAML环境定义。这遵循“ Using Pip in a Conda Environment”中列举的最佳实践。

YAML的优点在于,它使Conda可以立即解决所有问题,并且可以将env视为不可变的对象(即,如果需要更改env,请编辑YAML并重新创建)。这有助于避免由于运行一系列conda installpip installconda update命令而不可避免地造成混乱。

对我来说,这是一个多阶段的过程,但这对我来说是可靠的工作流程:

混合Conda-PyPI环境的工作流程

  1. 查看非Conda软件包的setup.pyrequirements.txtHere it is for simpletransformers
  2. 对于每个需求,请检查Anaconda Cloud(或conda search)以查看它是否可以作为Conda软件包提供。
  3. 如果可用,请将其作为(非pip)依赖项添加到YAML文件中。这确保了Conda可以提供的所有功能。
  4. 此外,请跟踪这些软件包来自的渠道。请注意,我不会使用我不熟悉的私人频道。在这种情况下,pytorchconda-forgedefaults(即anaconda)就足够了。
  5. 在YAML的pip部分下包括仅PyPI的软件包,包括感兴趣的主要软件包(即simpletransformers)。从技术上讲,您不需要包括其他依赖项,因为pip会自动拉入它们,但是我想保持它们的明确性,这样,如果我更新了YAML,我可能会再次检查是否有人将PyPI软件包移植到了Conda Forge。

  6. 使用YAML创建环境

    conda env create -n st_env -f simpletransformers.yaml
    
  7. 检查是否有其他软件包作为依赖项从PyPI隐式引入,但实际上可通过Conda获得。编辑YAML,将其放在Conda依赖项部分中。在这种情况下,显然还需要keras

  8. 删除环境并使用已更新的最大Conda版本重新创建。
  9. 最重要的是:除非通过编辑YAML,否则请勿更改环境

用于SimpleTransformers环境的YAML

simpletransformers.yaml

name: st_env
channels:
  - pytorch
  - conda-forge
  - defaults
dependencies:
  - python=3.7
  - pandas
  - tqdm
  - cpuonly
  - pytorch
  - transformers
  - scipy
  - scikit-learn
  - requests
  - tensorboardx
  - keras
  - pip
  - pip:
      - seqeval
      - simpletransformers

安装

conda env create -n st_env -f simpletransformers.yaml