在Azure Machine Learning Studio上安装fastText Python库

时间:2019-06-11 14:49:39

标签: python azure fasttext

我想在Azure ML Studio上安装Facebook C ++库的Python fastText包装器。该库已安装并且可以在我的笔记本电脑上正常工作。

我尝试遵循this堆栈溢出线程中的说明在Azure上进行上传,但未成功。

“执行Python脚本”中的代码很少:我只是解压缩并加载本地安装在计算机上的fastText程序包,然后在fastText模块的“ train_supervised”属性上调用帮助功能以验证包已正确导入


# The script MUST contain a function named azureml_main
# which is the entry point for this module.

import fastText

# The entry point function can contain up to two input arguments:
#   Param<dataframe1>: a pandas.DataFrame
#   Param<dataframe2>: a pandas.DataFrame

def azureml_main(dataframe1 = None, dataframe2 = None):

    print(help(fastText.train_supervised))

    # Return value must be of a sequence of pandas.DataFrame
    return dataframe1,

运行此最小的Azure实验时,出现以下错误:

Traceback (most recent call last): File "C:\server\invokepy.py", line 199, in batch odfs = mod.azureml_main(*idfs) File "C:\temp\e6acccec62994066a25e0d758090e749.py", line 44, in azureml_main print(help(fastText.train_supervised))AttributeError: module 'fastText' has no attribute 'train_supervised'Process returned with non-zero exit code 1---------- End of error message from Python interpreter ---------- Process exited with error code -2

我也曾尝试在本地计算机上创建一个虚拟环境(使用conda),并在其中安装fastText及其依赖项,但是我没有进行管理。那时的目标是将这些库压缩并上传到Azure。这是因为,为了与Azure Python环境兼容,我需要3.5.1 Python版本(Anaconda 4.0)。

任何帮助/指导表示赞赏!

1 个答案:

答案 0 :(得分:0)

我对SO线程帖子有一个更完整的答案:Updating pandas to version 0.19 in Azure ML Studio

并且您应该在virtualenv中通过pip安装Cypythonfasttext,然后需要将以下这些模块(按pip freeze列出)打包到一个zip文件中,并将其上传到Azure ML Studio。

Cython==0.29.10
fasttext==0.8.3
future==0.17.1
numpy==1.16.4

但是,您的代码中有两个问题,如下所示。

  1. 要在Python中导入fasttext,而不是fastText,这会导致ModuleNotFoundError: No module named 'fastText'

  2. 实际上,没有名为train_supervised的属性,但出现错误AttributeError: module 'fasttext' has no attribute 'train_supervised'。我试图通过在线fastText API参考All FunctionsAll Variables找到它,它实际上并不存在,只是supervised

    enter image description here

希望有帮助。