背景介紹
PyTorch是由Facebook人工智能研究院于2017年1月在github上開源的深度學(xué)習(xí)框架,一經(jīng)開源就迅速吸引了人們的眼球。其歷史可以追溯至2002年使用Lua語言的Torch框架,并由其幕后團(tuán)隊(duì)一手打造。PyTorch作為Torch框架的繼任者,并不僅僅只是移植代碼并提供接口,而是深入支持了Python,對大量模塊進(jìn)行了重構(gòu),并新增了最先進(jìn)的變量自動(dòng)求導(dǎo)系統(tǒng),成為時(shí)下最流行的動(dòng)態(tài)圖框架。
在入門時(shí),PyTorch提供了完整的文檔,并有著活躍的社區(qū)論壇,對于新手而言上手遇到的難關(guān)容易解決。更深入一些,在特性設(shè)計(jì)上,PyTorch對于抽象出的概念較少,易于理解,同時(shí)提供的API的設(shè)計(jì)理念與Torch一脈相承,符合人的一般思維,接口優(yōu)雅。而框架最核心的性能方面,PyTorch的速度表現(xiàn)在許多評測中勝過TensorFlow和Keras等知名框架。
本文將以一個(gè)使用了pytorch的demo代碼pytorch-classify為例,通過華為云上的容器服務(wù)一鍵式部署,5分鐘完成免費(fèi)的云上pytorch代碼的部署。
傳統(tǒng)部署方式
首先是準(zhǔn)備環(huán)境。先有個(gè)服務(wù)器,這臺(tái)服務(wù)器需要能夠被外部訪問。而后在操作系統(tǒng)里使用yum安裝需要的python(3.6.5)、pip、git,再通過pip等方式獲取到代碼需要的依賴(pytorch 0.4.1),準(zhǔn)備好軟件依賴后檢查pytorch-classify代碼所需的各項(xiàng)環(huán)境配置是否滿足要求。而后通過git拉取版本代碼放入環(huán)境內(nèi),通過腳本運(yùn)行起來。
在簡單環(huán)境下,這種部署方式是沒有任何問題的。但是由于真實(shí)環(huán)境復(fù)雜,事情并沒有那么簡單,上面的每一步都可能會(huì)有問題,并且有些問題很難處理。比如說安裝軟件的時(shí)候,環(huán)境上已有2.7.11的python版本,并且已經(jīng)為另外一個(gè)項(xiàng)目所使用,那么此時(shí)的你并不一定有能力與魄力選擇將python版本升級并還能保證一切都是ok的。
本方法在復(fù)雜環(huán)境下部署時(shí)間上限與影響范圍極難估計(jì),只適合簡單應(yīng)用的部署。
華為云上容器部署方式
容器依托操作系統(tǒng)提供的沙箱機(jī)制,能夠?qū)?yīng)用及其運(yùn)行環(huán)境直接打包為鏡像,一次打包多次運(yùn)行。同時(shí),依托于Kubernetes(k8s)等容器編排引擎,容器支持自動(dòng)化部署以及大規(guī)??缮炜s的應(yīng)用容器化管理,這些特性大大方便了應(yīng)用的部署。K8s使應(yīng)用系統(tǒng)變成了一系列應(yīng)用相關(guān)的配置,簡單同時(shí)不易出錯(cuò),在部署大型應(yīng)用系統(tǒng)的時(shí)候也有一戰(zhàn)之力。
一個(gè)應(yīng)用系統(tǒng)一般會(huì)有多個(gè)應(yīng)用相關(guān)的配置,雖然現(xiàn)在升級的時(shí)候只需要修改配置項(xiàng),但是由人工逐項(xiàng)操作不免依然費(fèi)時(shí)費(fèi)力還容易出錯(cuò)。此時(shí),你需要華為云的應(yīng)用編排服務(wù)(AOS)。
在AOS中,一個(gè)應(yīng)用系統(tǒng)對應(yīng)一個(gè)堆棧,堆棧由模板加配置生成,只需要修改配置,其他一切由AOS負(fù)責(zé)。
依然以pytorch-classify這個(gè)應(yīng)用為例,經(jīng)過AOS設(shè)計(jì)器的設(shè)計(jì),可以表示成上圖表示的應(yīng)用系統(tǒng)。一切清清楚楚,所見即所得。
實(shí)操環(huán)節(jié)
由于傳統(tǒng)部署方式各種操作較為不便,沒有提供實(shí)操的步驟。下文提供的是華為云上容器部署方式的操作指南,操作一遍之后即可得體會(huì)到AOS的便捷之處。
后文中AOS模板中包含了代碼,這種方式常見于開發(fā)環(huán)境,即代碼與環(huán)境分離,代碼的變動(dòng)相較于環(huán)境而言較大的情況下。而在生產(chǎn)環(huán)境推薦直接將代碼打包進(jìn)入鏡像中使用,但是對于當(dāng)前演示沒有影響。
操作如下:
一、注冊華為云賬號并實(shí)名認(rèn)證(如已有華為云實(shí)名認(rèn)證賬號可直接進(jìn)行下一步)
1.賬號注冊
進(jìn)入華為云官網(wǎng)首頁,點(diǎn)擊右上角的【注冊】按鈕:
設(shè)置賬號名、密碼、手機(jī)號、短信驗(yàn)證碼并勾選“我已閱讀并同意《華為云用戶協(xié)議》和《隱私政策聲明》”,單擊【同意協(xié)議并注冊】即可完成注冊。
2.實(shí)名認(rèn)證
用戶注冊完華為云賬號后需要進(jìn)行實(shí)名認(rèn)證才能使用相關(guān)服務(wù),實(shí)名認(rèn)證流程也非常簡單,在用戶中心可以看到實(shí)名認(rèn)證的提示信息,根據(jù)頁面引導(dǎo)選擇用戶類型和認(rèn)證類型進(jìn)行認(rèn)證即可。
二、開通3天免費(fèi)容器集群
1.在【云容器引擎】-【體驗(yàn)中心】-【初級案例】模塊找到購買集群,單擊【體驗(yàn)】按鈕根據(jù)界面引導(dǎo)進(jìn)行免費(fèi)集群和節(jié)點(diǎn)的創(chuàng)建。
2.資源創(chuàng)建完后,到【服務(wù)列表】-【彈性公網(wǎng)IP】找到創(chuàng)建好的彈性ip后記錄下來,在第三步部署pytorch-classify應(yīng)用時(shí)會(huì)用到。
三、pytorch-classify代碼一鍵式部署
1.在【應(yīng)用編排服務(wù)】-【模板市場】-【公共模板】模塊找到pytorch-classify應(yīng)用,進(jìn)入模板詳情頁,單擊【創(chuàng)建堆?!堪粹o。
2.填寫相關(guān)入?yún)⑿畔?包括堆棧名稱、彈性ip等,并選擇剛才創(chuàng)建的集群:
在輸入中填入從第二步中獲取到的彈性ip地址。
pytorch-classify選項(xiàng)卡中可以填寫鏡像的地址,由于該選項(xiàng)有默認(rèn)值,直接略過即可。所有參數(shù)設(shè)置完以后,點(diǎn)擊【下一步】,點(diǎn)擊【創(chuàng)建堆?!?。
3.一鍵式部署pytorch-classify:
1分鐘后堆棧創(chuàng)建成功。
4.進(jìn)入堆棧詳情,在輸出參數(shù)中有pytorch-classify的訪問鏈接,點(diǎn)擊鏈接:
5.可以正常使用應(yīng)用的功能:
寫在最后的話
前文中的AOS模板包含了整個(gè)應(yīng)用系統(tǒng)中所必須的各項(xiàng)配置,如應(yīng)用的部署、依賴的配置項(xiàng)、外部訪問所需要的服務(wù),但是AOS能力并不止于此。AOS還有能力對于資源如虛機(jī)、網(wǎng)絡(luò)、安全組以及中間件如數(shù)據(jù)庫、消息隊(duì)列等進(jìn)行創(chuàng)建等編排操作,再大的應(yīng)用也和前文的操作一樣,一鍵式部署搞定~
如對AOS感興趣,可以訪問AOS幫助中心了解詳細(xì)內(nèi)容。
- 360創(chuàng)始人周鴻祎清華讀博遇挫,60頁開題報(bào)告被批大改,真實(shí)創(chuàng)業(yè)者的學(xué)習(xí)之路
- 比亞迪歐洲市場大放異彩:8.9萬輛五月銷量揭秘
- AI智能體打賞來了!百寶箱、百煉支付寶2步開通,你準(zhǔn)備好了嗎?
- BOSS直聘計(jì)劃發(fā)行3千萬股,籌集資金22億港元,開啟招聘新篇章
- 日產(chǎn)股東大會(huì)揭開虧損內(nèi)幕:管理層治理失衡引質(zhì)疑,巨額虧損引爆股東矛盾
- 亞馬遜英國大手筆投資400億英鎊,物流、創(chuàng)新科技齊頭并進(jìn),創(chuàng)意產(chǎn)業(yè)未來可期
- 賽力斯汽車“揭開未來”戰(zhàn)略增資引爆行業(yè),50億資本新航向等你來領(lǐng)
- 2025年中國AI新趨勢:智能未來震撼來襲
- 泡泡瑪特進(jìn)軍家電市場:電影夢工廠能否打造家居新潮流?
- 比亞迪匈牙利工廠投產(chǎn)在即,騰勢仰望進(jìn)軍歐洲市場,新能源巨頭再下一城
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。