使用 Azure 機器學習服務執行您使用 Python 建立好的智能模型
Azure 機器學習服務(以下簡稱 Azure ML) 是 Microsoft 所推出的一個云端服務,它讓您能夠使用易于操作的圖形化接口,進行數據整理以及機器學習的運算,您可以在這個服務上從 0 開始,搭配這服務上不斷推出的各種學習算法,建立一個完整的學習模型,并且將學習后的智能模型變成 Web 服務,便能透過 Web API 的方式結合,為您的應用程序加入智能。

當然一開始您一定要有一個 Azure ML 的 workspace:
- 若您已經有 Azure 訂閱(沒有的話也可以免費注冊一個。注冊地址:https://azure.microsoft.com/zh-cn/pricing/free-trial/),直接在管理后臺建立一個機器學習的工作區(workspace)。
- 若 您尚未有 Azure 訂閱,也可以到 Azure ML Studio (https://studio.azureml.net/)中,用 Microsoft 賬號免費登入使用,這與已經有 Azure 訂閱的正式賬號比起來只是有一些計算時間及效能上的差異而已。
然后在你的 Python 項目中安裝 azureml 這個套件,這個只需要直接使用像是 pipinstall azureml 這樣的指令便能完成安裝。
以 下是一個范例程序,它是使用 Anaconda 提供的 Python 2.7(http://continuum.io/downloads) 版本所撰寫,這個 Python 中含有一些數據分析常用的模塊(如:numpy, scikit-learn 等):
#Build the model
from sklearn import svm
from sklearn import datasets
clf = svm.SVC()
iris = datasets.load_iris()
X, y = iris.data, iris.target
clf.fit(X, y)
#Predict using sample
sample = [7,3.2,4.7,1.4]
result = clf.predict(sample)
#Check the result
print(result[0])
發布至 Azure ML
透過上面這段程序代碼已經建立好一個能分類鳶尾花的智能模型,接下來我們只要使用 azureml 模塊提供的發布服務相關的函式就能把這個學習好的模型放上 Azure ML:
#Publish as a web service
from azureml import services
@services . publish ( '您Azure ML工作區ID' , '您AzureML工作區的授權碼' )
@services . types ( sep_l = float , sep_w = float, pet_l = float , pet_w = float )
@services . returns ( int ) #0, or 1, or 2
def predictIris ( sep_l , sep_w , pet_l , pet_w ):
inputArray = [ sep_l , sep_w , pet_l , pet_w ]
return clf . predict ( inputArray )
首先您必須先找到您 Azure ML 工作區的 ID 以及授權碼,只要您建立好 Azure ML 工作區,就可以在 Azure ML Studio中的設定里找到它們:
執行成功后,您就可以呼叫 predictIris.service(3,2,3,4) 這樣來測試是不是能正常運作,這個呼叫就是在 Azure ML 上執行完才回傳結果。 而要取得發布到 Azure ML 的 Web 服務的信息,就直接把
- predictIris.service.help_url
- predictIris.service.url
- predictIris.service.api_key
來自:http://weibo.com/p/1001603879782097025373