【问题标题】:How should I install and import simpletransformers?我应该如何安装和导入 simpletransformers?
【发布时间】:2019-12-20 09:56:08
【问题描述】:

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

conda 版本:4.6.14

conda-build 版本: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。

【问题讨论】:

  • @karel 如果您按照我的回答,它将不会是全局安装的软件包。在conda env create -f 事务期间,Conda 运行 env 本地的 pip 副本,以便在 env 的 site-packages 中安装 pip 依赖项。如果您按照答案中的说明使用 YAML 创建 env,然后使用“Existing interpreter”选项添加它,这应该不是问题。

标签: python pip anaconda conda


【解决方案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. 安装简单的变压器。
    pip install simpletransformers

【讨论】:

    【解决方案2】:

    从“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'

    【讨论】:

      【解决方案3】:

      每当我有一个无法通过 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. 删除 env 并使用更新的最大 Conda 版本重新创建。
      9. 最重要的是:除非通过编辑 YAML,否则切勿更改 env

      用于 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
      

      【讨论】:

        【解决方案4】:

        如果您的环境中安装了 pip,只需在终端中点击 pip install simpletransformers,或者如果您使用的是 jupyter notebook/colab 等,则将 !pip install simpletransformers 粘贴到您的第一个单元格并运行它。

        然后导入simpletransformers

        import simpletransformers
        

        【讨论】:

          猜你喜欢
          • 2023-03-15
          • 2021-05-01
          • 2019-06-25
          • 1970-01-01
          • 1970-01-01
          • 2018-05-10
          • 2022-08-20
          • 1970-01-01
          • 2017-06-22
          相关资源
          最近更新 更多