我想在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)。
任何帮助/指导表示赞赏!
答案 0 :(得分:0)
我对SO线程帖子有一个更完整的答案:Updating pandas to version 0.19 in Azure ML Studio。
并且您应该在virtualenv中通过pip安装Cypython
和fasttext
,然后需要将以下这些模块(按pip freeze
列出)打包到一个zip文件中,并将其上传到Azure ML Studio。
Cython==0.29.10
fasttext==0.8.3
future==0.17.1
numpy==1.16.4
但是,您的代码中有两个问题,如下所示。
要在Python中导入fasttext
,而不是fastText
,这会导致ModuleNotFoundError: No module named 'fastText'
。
实际上,没有名为train_supervised
的属性,但出现错误AttributeError: module 'fasttext' has no attribute 'train_supervised'
。我试图通过在线fastText API参考All Functions和All Variables找到它,它实际上并不存在,只是supervised
。
希望有帮助。