我已经在Azure Ml
工作区中创建了火车模型。在此我使用了自己的模型并导入了其zip文件。压缩文件的输出发送到Execute Python Script
模块,此处的输出为predictive labels dataframe
。它工作正常并给出正确的输出,即使我也能够创建其Web服务。 Execute Python Script
的代码如下:
import pandas as pd
import sys
import pickle
import main
def azureml_main(dataframe1 = None, dataframe2 = None):
sys.path.insert(0,".\\Script Bundle")
objTree = pickle.load(open(".\\Script Bundle\\pc_model.pkl", 'rb'))
data=dataframe1.values
x_test=dataframe2.values
tree = objTree.generate_tree(data)
print("Tree : ", tree)
df = objTree.predict(tree, x_test)
return df
main
是一个.py
文件,在其中定义了我的训练模型,在这里我已使用pickle传递了其对象model
。
dataframe1
=训练数据
dataframe2
=测试数据,
tree
=训练模型的对象,
df
=测试数据的目标值
在Web服务上测试时出现此错误:
85: Error 0085: The following error occurred during script evaluation, please view the output log for more information: ---------- Start of error message from Python interpreter ---------- Caught exception while executing function: Traceback (most recent call last): File "\server\InvokePy.py", line 113, in executeScript buf = pipe.read_buffer() File "C:\server\PipeProtocol.py", line 73, in read_buffer return bytearray(self.read_string()) TypeError: string argument without an encoding ---------- End of error message from Python interpreter ----------, Error code: ModuleExecutionError, Http status code: 400, Timestamp: Tue, 01 Oct 2019 13:05:17 GMT
我认为应该使用Execute Python Script
模块而不是使用Train Model
模块,并首先生成一个Predictive Model
,然后将其部署为Web服务,
但这是How to create the object of custom model ?
赞赏其中任何一个问题的反应。