999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于華為AI開發平臺的圖像識別原型開發*

2022-02-19 04:26:54上海電機學院呂海龍遲冬祥
數字技術與應用 2022年1期
關鍵詞:服務模型

上海電機學院 呂海龍 遲冬祥

大數據時代,通過AI對數據就行識別及處理的方法得到了廣泛的應用。對于無AI開發經驗的個人或企業,不具備算法開發能力,但當有利用AI模型進行生產或數據分析的業務需求時再去學習AI開發,顯然會消耗很多的時間成本。市面上有很多自動機器學習工具,開發者不需要較高的算法知識,只需要把數據上傳并標注,選擇合適的模型,點擊開始訓練,后臺就能自動訓練模型并部署上線。比如谷歌的AutoML、微軟的Custom Vision,百度的EasyDL,以及華為云的ModelArts。

華為提供的ModelArts平臺具有圖形化操作界面,同時提供了常用的算法框架和預置算法,降低了AI開發的難度。針對有大量業務數據卻不具備AI開發經驗,無法進行高效生產的企業,本文提出了使用ModelArts平臺高效開發AI模型的方案,以解決上述痛點問題,并以AI初學者為視角嘗試在華為AI開發平臺ModelArts上進行圖像識別原型的開發和部署,完成了圖片識別模型并將其部署到了網頁端,驗證了無經驗的AI開發者基于ModelArts平臺完成從AI模型開發到部署的可行性。

1 基于ModelArts的圖像識別開發

ModelArts是由華為公司提供的、面向AI開發者的一站式開發平臺,“一站式”是指AI開發的各個環節,包括數據處理、算法開發、模型訓練、模型部署都可以在ModelArts上完成。提供海量數據預處理及半自動化標注、大規模分布式訓練、自動化模型生成及端-邊-云模型按需部署能力,幫助用戶快速創建和部署模型,管理全周期AI工作流。筆者嘗試在ModelArts平臺開發了一個圖片識別模型并將其部署到了網頁端。

1.1 創建數據集

在進行模型開發或訓練等操作之前,需要將數據集導入到華為的數據存儲服務OBS中。在ModelArts中,可以在“數據管理”頁面,完成數據導入、數據標注等操作,也可以導入現成的數據集,為模型構建做好數據準備。

(1)導入圖片數據,標注標簽并生成數據集。數據標注任務中,一般由一個人完成,但是針對數據集較大時,需要多人協助完成。ModelArts提供了團隊標注功能,可以由多人組成一個標注團隊,針對同一個數據集進行標注管理。

(2)導入現成的數據集。開發中,筆者嘗試導入現成數據集。數據集文件格式如圖1所示:

圖1 數據集格式Fig.1 Data set format

1.2 使用預置算法訓練數據集并生成模型

(1)選取合適的預置算法。如果不具備算法開發能力,可以使用ModelArts內置的預置算法,通過簡單的調參,即可創建訓練作業構建模型,提高了模型開發效率。ModelArts在AI Gallery中發布了較多官方算法,比如用于物體檢測算法YOLOv5,圖像分類算法ResNet等,可以幫助AI開發者快速開始訓練和部署模型。筆者選用了AI Gallery提供的ResNet殘差神經網絡算法進行模型的圖片識別模型的訓練。

(2)創建訓練作業訓練。ModelArts提供了模型訓練的設置頁面(如圖2所示),在此頁面可以創建訓練任務,調整訓練參數和選取合適的算力資源。在設置模型完數據集的輸入OBS路徑和模型的輸出OBS路徑后,點擊提交鍵即可進行訓練,等待模型生成。

(3)模型部署。訓練完成的模型存儲在OBS路徑中,可以將模型在模型部署界面(如圖3所示)中導入并部署。部署為在線服務后,ModelArts提供了一個可調用的API接口,通過編寫POST語句對API發起預測請求,即可預測服務返回的結果。筆者編寫了調用在線服務API接口的.py程序以及基礎Flask框架的Web端網頁進行預測應用。整體項目分為三大部分:

圖3 部署界面Fig. 3 Deployment screen

(1)在線服務接口在接收到請求后需要進行用戶提供鑒權信息Token進行身份認證,為保證預測服務安全,鑒權Token為動態的,故需要編寫請求代碼獲取Token鑒權。部分代碼如下:

Url='https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens '

payload={}

Headers={"Content-Type":"application/json; charset=utf8" }

(2)編寫請求代碼通過POST方式調用預測API獲取預測結果,包括用Request函數發送預測請求,其中請求參數包含在服務的API,請求頭Header中包含第一部中的鑒權Token,還有本地文件的所在地址,用變量Path表示。部分代碼如下:

url='http://'# 此url為在線服務提供

payload={}

files=[('images',open(path,'rb'))]

headers={'X-Auth-Token':token.get_token() }

response=requests.request("POST",url,headers = headers,data=payload,files=files )

(3)編寫基于Flask的網頁交互代碼并在服務器端部署,包括導入Flask框架到Python環境,編寫Html網頁代碼并用render_template函數作網頁代碼的映射。Flask是由Python實現的一個Web框架,使開發者可以使用Python語言快速實現一個網站或Web服務。部分代碼如下:

from flask import Flask,render_template, request,jsonify

from werkzeug.utils import secure_filename

from datetime import timedelta

import os

app=Flask(__name__)

# 創建app應用

app.debug=True

# 輸出

@app.route('/')

def hello_world():

return'Hello World!'

# 設置靜態文件緩存過期時間

app.send_file_max_age_default=timedelta( seconds=1)

# 添加路由

@app.route('http://114.215.184.36:5000/upload',methods=['POST','GET'])

def upload():

if request.method=='POST':

# 通過file標簽獲取文件

f = request.files[ 'file' ]

# 當前文件所在路徑

basepath=os.path.dirname(__file__)

# 一定要先創建該文件夾,不然會提示沒有該路徑

upload_path=os.path.join(basepath,'staticimage',secure_filename(f.filename))

# 保存文件

f.save(upload_path)

# 調用api函數

result=get_result(upload_path)

# 返回上傳成功界面

return render_template('upload_ok.html',result= result)

# 重新返回上傳界面

return render_template('upload.html')

if __name__=='__main__':

app.run(debug=True,port=8000)

網頁端簡單的交互界面如圖4所示。

圖4 具備圖片識別功能的網頁端Fig.4 Web page with image recognition function

2 使用PyCharm ToolKit工具基于算法代碼實現模型開發

對于有人工智能編程基礎的開發者,常使用PyCharm工具開發算法或模型。對于沒有長期長時間訓練作業的開發者,將本地代碼提交到ModelArts訓練環境進行訓練,可以減少諸如GPU之類的算力硬件成本,ModelArts的AI平臺也提供了多種高性能的GPU和CPU供開發和選擇,提高模型開發的靈活性以及訓練的效率和時間。為方便快速將本地代碼提交到公有云的訓練環境,ModelArts提供了一個PyCharm插件工具PyCharm ToolKit,協助用戶完成代碼上傳、提交訓練作業、將訓練日志獲取到本地展示等,開發者只需要專注于本地的代碼開發即可。

筆者嘗試通過ModelArts提供了的PyCharm插件工具PyCharm ToolKit開發一個基于keras框架的VGG16卷積神經網絡算法的貓狗識別模型。

2.1 上傳數據集

在實際生產中,用戶可能會碰到訓練數據為壓縮格式文件,若此時依舊按照上述數據集文件格式上傳OBS,則需要先對本地數據集進行解壓操作,再上傳至OBS,文件大小和數量的增加會導致上傳操作過于繁雜,時間效率低。筆者提供了上傳壓縮文件后通過指令解壓的方式解決了這一問題。用戶可以通過導入Moxing Framework模塊編輯本地和OBS間的傳輸代碼來解決此問題。Moxing Framework為Moxing提供基礎公共組件。目前,提供的Moxing Framework功能中主要包含操作和訪問OBS組件。

在本開發過程中,需要將533MB的貓狗數據集壓縮文件上傳至OBS,在上傳后,只需要在訓練代碼中添加通過Moxing庫下載壓縮文件進行解壓的代碼即可。

2.2 安裝ToolKit工具并登錄

(1)在華為ModelArts的開發手冊中可以獲取ToolKit工具包的文件,打開本地PyCharm,選擇菜單欄的“File > Settings”,彈出“Settings”對話框。在“Settings”對話框中,首先單擊左側導航欄中的“Plugins”,然后單擊右側的設置圖標,選擇“Install Plugin from Disk”,彈出文件選擇對話框,如圖5所示。

圖5 選擇從本地安裝插件Fig.5 Selecting to install the plug-in locally

(2)在彈出的對話框中,從本地目錄選擇ToolKit的工具包,然后單擊“OK”,如圖6所示。

圖6 選擇插件文件Fig.6 Selecting the plug-in file

(3)單擊“Restart IDE”重啟PyCharm。在彈出的確認對話框中,單擊“Restart”開始重啟。重啟成功后,打開一個Project,當PyCharm工具欄出現“ModelArts”頁簽,表示ToolKit工具已安裝完成,如圖7所示。

圖7 重啟PyCharmFig.7 Restarting PyCharm

(4)當PyCharm工具欄出現“ModelArts”頁簽,表示ToolKit工具已安裝完成,如圖8所示。

圖8 安裝成功Fig. 8 Successful installation

2.3 導入訓練代碼并進行訓練

(1)將訓練代碼的文件夾命名為‘src’,便于之后的文件路徑填寫,如圖9所示。

圖9 將訓練代碼的文件夾命名為srcFig. 9 Names the folder for the training code src

(2)在Pycharm工具欄中,選擇“ModelArts->Edit Credential”進行登錄。

為了確保服務的安全性,此處需要通過訪問密鑰(AK/SK)進行登錄。登錄華為云,在頁面右上方單擊“控制臺”,進入華為云管理控制臺。在控制臺右上角的帳戶名下方,單擊“我的憑證”,進入“我的憑證”頁面。在“我的憑證”頁面,選擇“訪問密鑰>新增訪問密鑰”。填寫該密鑰的描述說明,單擊“確定”,如圖10所示。

圖10 登錄框Fig.10 Login box

根據提示單擊“立即下載”,下載密鑰,即可獲得一個名為“credentials”的csv格式文件,打開即可看到訪問密鑰,如圖11所示。

圖11 獲取訪問密鑰Fig.11 Obtaining the access key

(3)登陸后,選擇“ModelArts->Edit Training Job Configuration”在彈出的對話框中,如圖12所示示例配置訓練參數:

圖12 配置訓練參數Fig.12 Configuring training parameters

此處AI引擎為TensorFlow-TF-1.13.1-pytho3.6。“Boot File Path”為本地訓練項目的路徑,“Directory”為訓練代碼路徑。“OBS Path”用于存放訓練輸出模型和訓練日志的目錄,“Data Path in OBS”為訓練集所在目錄。“Specifications”為訓練使用資源類型,目前支持公共資源池的CPU和GPU,規格與ModelArts管理控制臺中訓練作業支持的規格一致且同步。“Compute Nodes”為計算資源節點個數。數量設置為1時,表示單機運行;數量設置大于1時,表示后臺的計算模式為分布式。“Running Parameters”為運行參數。如果您的代碼需要添加一些運行參數,可以在此處添加,多個運行參數使用英文分號隔開,例如“key1=value1;key2=value2”。此參數也可以不設置,即保持為空。

設置好后,點擊“Apply and Run”,即可在本地開始調用云端ModelArts平臺訓練模型,開發者可以在“ModelArts Training Log”框內看到損失值,準確率等參數訓練的更新情況如圖13所示。

圖13 訓練更新情況Fig.13 Training update

當看到“ModelArts Event Log”框中出現下面的指示語時,即說明模型訓練成功,如圖14所示。

圖14 訓練成功Fig.14 Successful training

訓練成功后,可以在OBS的模型輸出路徑看到訓練輸出模型的PB文件,開發者可以使用模型文件在ModelArts云端進行在線部署。有后端開發經驗的開發者也可以將模型下載到本地,部署在自己的服務器上。本次實驗筆者選擇將模型文件在ModelArts云端進行在線部署。

此次的訓練代碼是基于TensorFlow的Keras框架的VGG16神經網絡算法。VGG16卷積神經網絡算法對圖片識別非常有效。Keras是一個用Python編寫的高級神經網絡API,它能夠以TensorFlow,CNTK,或者Theano作為后端運行。自2017年起,Keras得到了TensorFlow團隊的支持,其大部分組件被整合至TensorFlow的Python API中。在2018年TensorFlow 2.0.0公開后,Keras被正式確立為TensorFlow高階API,即tf.keras。tf.keras是Keras API在TensorFlow里的實現。這是一個高級API,用于構建和訓練模型,同時兼容TensorFlow的絕大部分功能。tf.keras使得TensorFlow 更容易使用,且保持了靈活性和性能。

2.4 在線部署

(1)在OBS服務中,進入訓練設置時自定義的訓練模型輸出路徑下面的output文件夾下,放入編寫好的模型配置文件“config.json”和模型推理文件“customize_service.py”。模型配置文件描述模型用途、模型計算框架、模型精度、推理代碼依賴包以及模型對外API接口。模型推理文件執行預測數據的預處理功能,如圖15所示。

圖15 在輸出路徑放入推理及配置文件Fig.15 Puts the inference and configuration files in the output path

(2)上傳后回到Pycharm界面,點擊左下頁面的“ModelArts Explorer”,在跳出來的界面中,選擇訓練本次訓練項目的最高版本(當前為V0001),點擊右鍵,選擇“Deploy to Service”,如圖16所示。

圖16 部署服務Fig.16 Deploying the service

在彈出窗口內點擊“Auto Stop”可設置在線服務的自動關閉時間(當前為1小時候關閉)。在 “Specifications”選項中選擇在線服務的資源(當前為“gpu型”)設置完畢后點擊“ok”,即可進行在線服務部署,如圖17所示。

圖17 選擇部署資源Fig.17 Selecting deployment resources

開發者依舊可在“ModelArts Event Log”中查看在線服務部署進度。部署成功后,“ModelArts Event Log”中會出現在線服務的API供開發者調用,如圖18所示。

圖18 顯示在線服務部署成功Fig.18 Shows the successful deployment of the online service

3 結論

與傳統AI開發流程相比,ModelArts平臺的圖形化界面大大減輕了開發這的代碼學習成本。在數據集的制作與創建流程中,平臺完全為圖形化界面,對于圖像數據,用戶只需對圖像進行分類標注或者對內容圈選操作,無需制作例如XML等格式的圖像信息文件,降低了學習成本和時間成本。同時平臺具有團隊標注功能,可進行多人線上標注,提高了數據集制作效率。在模型訓練流程中,ModelArts在AI Gallery中提供了較多的官方算法以及華為自研的高效算法,通過簡單的調參,即可創建訓練作業構建模型,大大提高了模型開發效率和模型的準確率,在最后的模型部署流程中,華為提供了在線服務API,通過簡單的調用即可完成模型的預測功能。筆者從數據集導入到模型部署,在ModelArts平臺完成了完整的AI開發流程,最終生成了具有圖片識別的功能的網頁端,驗證了無經驗的AI開發者利用AI開發平臺進行模型開發實現業務需求的可行性。

另外對于有一定基礎的AI開發者,ModelArts平臺也提供了將訓練代碼上傳云端進行訓練的模型開發方式,如果訂閱算法不能滿足需求或者用戶希望遷移本地算法至云上訓練,可以考慮使用ModelArts支持的預置訓練引擎實現算法構建。在ModelArts中,這種方式稱為“使用自定義腳本訓練”。ModelArts支持了諸如TensorFlow、pytorch、以及華為自研的Ascend等大多數主流的AI引擎。同時,平臺提供多種高性能的GPU和CPU供開發和選擇,可以減少諸如GPU之類的算力硬件成本,提高了模型開發的靈活性以及訓練的效率和時間。

使用AI開發平臺進行AI模型的開發和部署大大提高了生產效率。因此,無論是資深的AI開發人員還是AI初學者,使用類似ModelArts的AI開發平臺進行生產必然是未來的趨勢。

猜你喜歡
服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
3D打印中的模型分割與打包
主站蜘蛛池模板: 天天做天天爱天天爽综合区| 91区国产福利在线观看午夜| 中国一级毛片免费观看| 久久狠狠色噜噜狠狠狠狠97视色 | 九色综合伊人久久富二代| 伊人久久久久久久| 国产视频一区二区在线观看| 天堂岛国av无码免费无禁网站| 国产91精选在线观看| 亚洲免费播放| 精品成人一区二区| 久久黄色毛片| 亚洲av无码牛牛影视在线二区| 国内精品视频在线| 噜噜噜久久| 国产在线观看一区精品| 亚洲中文久久精品无玛| 亚洲天堂成人在线观看| 午夜三级在线| 日韩大片免费观看视频播放| 农村乱人伦一区二区| 女同久久精品国产99国| 四虎成人免费毛片| 色偷偷综合网| 欧美在线天堂| 色综合热无码热国产| 天天色综合4| 久久精品国产精品青草app| 青青青草国产| 91综合色区亚洲熟妇p| 老司机精品99在线播放| 一本大道无码高清| 国产成年女人特黄特色大片免费| 成人av专区精品无码国产| 丁香五月激情图片| 亚洲视屏在线观看| P尤物久久99国产综合精品| 国产三级精品三级在线观看| 凹凸国产熟女精品视频| 国产91丝袜在线播放动漫 | 久久久精品久久久久三级| 99久久这里只精品麻豆| 久久青青草原亚洲av无码| 日韩AV无码免费一二三区| 人妻熟妇日韩AV在线播放| 国产精品视屏| 国产网友愉拍精品| a毛片基地免费大全| 777午夜精品电影免费看| 伊人婷婷色香五月综合缴缴情| 色有码无码视频| 亚洲精品无码日韩国产不卡| 91福利在线看| 亚洲激情99| 成人国产免费| 国产另类乱子伦精品免费女| 欧美精品xx| 国产SUV精品一区二区6| 久热re国产手机在线观看| 亚洲精品福利视频| 女人18毛片一级毛片在线 | 99久久性生片| 国产欧美专区在线观看| 久久久久国色AV免费观看性色| 国产精品福利社| 亚洲最大在线观看| 国产一区二区福利| 欧美日韩精品一区二区在线线| 日本高清有码人妻| 国产免费a级片| 激情乱人伦| а∨天堂一区中文字幕| 夜精品a一区二区三区| 在线播放91| a天堂视频| 久久综合九九亚洲一区| 亚洲三级a| 国产精品九九视频| 在线免费亚洲无码视频| 午夜精品久久久久久久无码软件 | 成人精品亚洲| 在线免费看片a|