想運(yùn)行TuriCreate渠概,卻沒(méi)有蘋果電腦茶凳,也沒(méi)有Linux使用經(jīng)驗(yàn),怎么辦播揪?用上這款云端應(yīng)用贮喧,讓你免安裝Python運(yùn)行環(huán)境。一分錢不用花猪狈,以高性能GPU箱沦,輕松玩兒轉(zhuǎn)深度學(xué)習(xí)。
痛點(diǎn)
《如何用Python和深度神經(jīng)網(wǎng)絡(luò)識(shí)別圖像雇庙?》一文發(fā)布后谓形,收到了很多讀者的留言。大家對(duì)從前印象中高不可攀的深度神經(jīng)網(wǎng)絡(luò)圖片識(shí)別來(lái)了興趣疆前,都打算親自動(dòng)手寒跳,試用一下簡(jiǎn)單易用的TuriCreate框架。
有的讀者嘗試之后竹椒,很開(kāi)心童太。
有的讀者卻遇到了問(wèn)題:
我在《如何用Python和深度神經(jīng)網(wǎng)絡(luò)尋找近似圖片?》一文中,對(duì)這個(gè)疑問(wèn)做了回應(yīng)——TuriCreate目前支持的操作系統(tǒng)有限书释,只包括如下選項(xiàng):
如果你用的操作系統(tǒng)是Windows 7及以下版本翘贮,目前TuriCreate還不支持。
解決辦法有兩種:
第一種征冷,升級(jí)到Windows 10择膝,并且使用WSL誓琼。
第二種检激,采用虛擬機(jī)安裝好Linux。
這兩種解決方法好不好腹侣?
不好叔收。
它們都是沒(méi)有辦法的辦法。
因?yàn)槎夹枰脩艚佑|到Linux這個(gè)新系統(tǒng)傲隶。
對(duì)于IT專業(yè)人士來(lái)說(shuō)饺律,Linux確實(shí)是個(gè)好東西。
首先跺株,它免費(fèi)复濒。因此可以把軟硬件的綜合使用成本降到最低;
其次乒省,它靈活巧颈。從系統(tǒng)內(nèi)核到各種應(yīng)用,你都可以隨心所欲定制袖扛。不像Windows或者macOS砸泛,管你用不用西班牙語(yǔ)和文本語(yǔ)音朗讀功能,統(tǒng)統(tǒng)默認(rèn)一股腦給你裝上蛆封;
第三唇礁,它結(jié)實(shí)。Linux雖然免費(fèi)惨篱,但是從創(chuàng)生出來(lái)就是以UNIX作為參考對(duì)象盏筐,完全可以勝任運(yùn)行在一年都不關(guān)機(jī)一回的大型服務(wù)器上。
但是砸讳,Linux這些優(yōu)點(diǎn)琢融,放到我專欄的主要閱讀群體——“文科生”——那里,就不一定是什么好事兒了绣夺。
因?yàn)長(zhǎng)inux的學(xué)習(xí)曲線吏奸,很陡峭。
所以陶耍,如果你固執(zhí)地堅(jiān)持在自己的電腦上運(yùn)行TuriCreate奋蔚,又不愿意學(xué)Linux,那可能就得去買臺(tái)Macbook了。
但是泊碑,誰(shuí)說(shuō)運(yùn)行代碼一定要在自己的機(jī)器上呢坤按?
云端
你可以把TuriCreate安裝在云端——只要云端的主機(jī)是Linux就好。
你可能怒了馒过,覺(jué)得我是在戲耍你——我要是會(huì)用Linux臭脓,就直接本地安裝了!本地的Linux我都不會(huì)用腹忽,還讓我遠(yuǎn)程使用Linux来累?!你什么意思嘛窘奏?
別著急嘹锁,聽(tīng)我把話說(shuō)完。
云端的Linux主機(jī)着裹,大多是只給你提供個(gè)操作系統(tǒng)领猾,你可以在上面自由安裝軟件,執(zhí)行命令骇扇。
這樣的云端系統(tǒng)摔竿,往往需要你具備相當(dāng)程度的IT專業(yè)知識(shí),才能輕松駕馭少孝。
更要命的是继低,這種租用來(lái)的云主機(jī),要么功能很弱韭山,要么很貴郁季。
那種幾十塊錢一個(gè)月的主機(jī),往往只有一個(gè)CPU核心钱磅。跑深度學(xué)習(xí)項(xiàng)目梦裂?只怕你還沒(méi)獲得結(jié)果,別人的論文都發(fā)出來(lái)了盖淡。
有沒(méi)有高性能主機(jī)年柠?當(dāng)然有。
例如亞馬遜的AWS褪迟,就提供了p2.xlarge這樣的配置供你選擇冗恨。有了它,運(yùn)行深度學(xué)習(xí)任務(wù)游刃有余味赃。
但是它很貴掀抹。
有人計(jì)算過(guò),如果你需要長(zhǎng)期使用深度學(xué)習(xí)功能心俗,還是本地組裝一臺(tái)高性能電腦比較劃算傲武。
另外蓉驹,雖然亞馬遜已經(jīng)幫你做了很多準(zhǔn)備工作。你從開(kāi)始折騰這臺(tái)云主機(jī)到真正熟練掌握使用揪利,還是要花些功夫态兴。
從網(wǎng)上找一篇靠譜的教程后,經(jīng)過(guò)自己的反復(fù)實(shí)踐疟位,不斷求助瞻润,最終你會(huì)掌握以下技能:
硬件配置含義;
云平臺(tái)信用卡支付方式甜刻;
控制面板使用绍撞;
計(jì)費(fèi)原理;
競(jìng)價(jià)規(guī)則罢吃;
實(shí)例使用限制楚午;
定制實(shí)例類型選擇昭齐;
安全規(guī)則設(shè)定尿招;
公鑰私鑰的使用;
加密通訊ssh連接阱驾;
文件權(quán)限設(shè)定就谜;
其他……
了解了如何最省錢地運(yùn)行高配置AWS虛擬主機(jī),知道該在何時(shí)啟動(dòng)和關(guān)閉實(shí)例里覆。一個(gè)月下來(lái)丧荐,你看著賬單上的金額如此之少,會(huì)特別有成就感吧喧枷。
問(wèn)題是虹统,你最初是想要干什么來(lái)著?
你好像只是打算把手頭的照片隧甚,利用TuriCreate上的卷積神經(jīng)網(wǎng)絡(luò)快速做個(gè)分類模型出來(lái)吧车荔?
所以,這種折騰不是正道戚扳。
在某些時(shí)刻忧便,做出正確的選擇比盲目付出努力重要得多。
你應(yīng)該選擇一個(gè)云平臺(tái)帽借,它得具有如下特色:
你不必會(huì)Linux珠增,也不用從頭裝一堆基礎(chǔ)軟件。打開(kāi)就能用砍艾,需要哪個(gè)額外的功能蒂教,一條指令就搞定。提供高性能GPU用來(lái)運(yùn)行深度學(xué)習(xí)代碼……最好還免費(fèi)脆荷。
你是不是覺(jué)得我在做夢(mèng)凝垛?猶豫著要不要趕緊喊我醒過(guò)來(lái)?
這不是做夢(mèng),真的有這樣的好事兒苔严。
發(fā)現(xiàn)
本文推薦給你的云運(yùn)行環(huán)境定枷,是由Google提供的Colaboratory,下文簡(jiǎn)稱Colab届氢。
其實(shí)這個(gè)工具已經(jīng)存在了好幾年了欠窒。
最初版本由Google和Jupyter團(tuán)隊(duì)合作開(kāi)發(fā)。只是最近才迭代到漸入佳境的狀態(tài)退子。經(jīng)過(guò)這篇Medium文章的推廣岖妄,吸引了很多研究者和學(xué)習(xí)者的關(guān)注。
官方的介紹是:
Colaboratory 是一款研究工具寂祥,用于進(jìn)行機(jī)器學(xué)習(xí)培訓(xùn)和研究荐虐。它是一個(gè) Jupyter 筆記本環(huán)境,不需要進(jìn)行任何設(shè)置就可以使用丸凭。
請(qǐng)用Google Chrome瀏覽器打開(kāi)這個(gè)鏈接福扬,你可以看到這份“Colaboratory簡(jiǎn)介”。
雖然外觀不同惜犀,但是它實(shí)際上就是一份Jupyter Notebook筆記本铛碑。
我們嘗試運(yùn)行一下其中的語(yǔ)句。
注意這個(gè)筆記本里面的語(yǔ)句虽界,其實(shí)是Python 2格式汽烦。但是默認(rèn)筆記本的運(yùn)行環(huán)境,是Python 3莉御。
所以撇吞,如果你直接執(zhí)行第一句(依然是用Shift+Enter),會(huì)報(bào)錯(cuò)礁叔。
解決辦法非常簡(jiǎn)單牍颈,打開(kāi)上方工具欄中的“代碼執(zhí)行程序”標(biāo)簽頁(yè)。
選擇最下方的“更改運(yùn)行時(shí)類型”晴圾。
將默認(rèn)的Python 3改成Python 2之后颂砸,點(diǎn)擊右下角的保存按鈕。
然后我們重新運(yùn)行第一個(gè)代碼區(qū)塊的語(yǔ)句死姚。這次就能正常輸出了人乓。
語(yǔ)句區(qū)塊2就更有意思了。它直接調(diào)用Google自家的深度學(xué)習(xí)框架——tensorflow軟件包都毒。
我曾經(jīng)專門為tensorflow的安裝寫過(guò)教程色罚。但是在這里,你根本就沒(méi)有安裝tensorflow账劲,它卻實(shí)實(shí)在在為你工作了戳护。
不僅是tensorflow金抡,許多常用的數(shù)據(jù)分析工具包,例如numpy, matplotlib都默認(rèn)安裝好了腌且。
對(duì)于這些基礎(chǔ)工具梗肝,你一概不需要安裝、配置铺董、管理巫击,只要拿過(guò)來(lái)使用就行。
我們運(yùn)行最后一個(gè)代碼單元精续。
看坝锰,圖片輸出都毫無(wú)問(wèn)題。
編程環(huán)境領(lǐng)域的即插即用爸馗丁顷级!太棒了!
可是興奮過(guò)后确垫,你可能覺(jué)得不過(guò)如此——這些軟件包弓颈,我本地機(jī)器都正確安裝了。執(zhí)行起來(lái)森爽,再怎么說(shuō)也是本地更方便一些啊恨豁。
沒(méi)錯(cuò)。
但是安裝TuriCreate時(shí)爬迟,你的Windows操作系統(tǒng)不支持,對(duì)不對(duì)菊匿?
下面我為你展示如何用Colab運(yùn)行TuriCreate付呕,進(jìn)行深度學(xué)習(xí)。
數(shù)據(jù)
我把需要分類的圖像數(shù)據(jù)以及ipynb文件都放到了這個(gè)github項(xiàng)目中跌捆。請(qǐng)點(diǎn)擊這個(gè)鏈接下載壓縮包徽职。
下載后解壓到本地硬盤。
可以看到佩厚,其中包含一個(gè)ipynb文件和一個(gè)image目錄姆钉。
image目錄內(nèi)容,就是你之前在《如何用Python和深度神經(jīng)網(wǎng)絡(luò)尋找近似圖片抄瓦?》一文中已經(jīng)見(jiàn)過(guò)的哆啦a夢(mèng)和瓦力的圖片潮瓶。
這是藍(lán)胖子的圖片:
這是瓦力的圖片:
請(qǐng)用Google Chrome瀏覽器(目前Colab尚不支持其他瀏覽器)打開(kāi)這個(gè)鏈接,開(kāi)啟你的Google Drive钙姊。
當(dāng)然毯辅,如果你還沒(méi)有Google賬號(hào),需要注冊(cè)一個(gè)煞额,然后登錄使用思恐。
下面沾谜,把你剛剛解壓的那個(gè)文件夾拖拽到Google Drive的頁(yè)面上,系統(tǒng)自動(dòng)幫你上傳胀莹。
上傳完成后基跑,在Google Drive里打開(kāi)這個(gè)文件夾。
在demo_python_image_classification.ipynb文件上單擊鼠標(biāo)右鍵描焰。選擇打開(kāi)方式為Colaboratory涩僻。
Colab打開(kāi)后的ipynb文件如下圖所示。
我們首先需要確定運(yùn)行環(huán)境栈顷。點(diǎn)擊菜單欄里面的“修改”逆日,選擇其中的“筆記本設(shè)置”。
確認(rèn)運(yùn)行時(shí)類型為Python 2萄凤,硬件加速器為GPU室抽。如果不是這樣的設(shè)置,請(qǐng)修改靡努。然后點(diǎn)擊保存坪圾。
數(shù)據(jù)有了,環(huán)境也已配置好惑朦。下面我們正式開(kāi)始運(yùn)行代碼了兽泄。
代碼
我們嘗試讀入TuriCreate軟件包。
importturicreateastc
結(jié)果會(huì)有如下報(bào)錯(cuò)漾月。
遇到這個(gè)報(bào)錯(cuò)很正常病梢。
因?yàn)槲覀冞€沒(méi)有安裝TuriCreate。
不是說(shuō)不需要安裝深度學(xué)習(xí)框架嗎梁肿?
那得看是誰(shuí)家的深度學(xué)習(xí)框架了蜓陌。
Colab默認(rèn)安裝Tensorflow,因?yàn)樗?b>Google自家開(kāi)發(fā)的深度學(xué)習(xí)框架吩蔑。
而TuriCreate是蘋果的產(chǎn)品钮热,所以需要咱們手動(dòng)安裝。
手動(dòng)安裝很麻煩嗎烛芬?
才不會(huì)隧期。
新開(kāi)一個(gè)代碼單元,然后輸入以下一行語(yǔ)句:
!pip install turicreate
你就可以看到Colab幫你辛勤地安裝TuriCreate以及全部依賴包了赘娄,根本不用自己操心仆潮。瞬間就安裝好了。
我們重新調(diào)用TuriCreate擅憔。
importturicreateastc
這次成功執(zhí)行鸵闪,再?zèng)]有出現(xiàn)報(bào)錯(cuò)。
下面我們需要做一件事情暑诸,就是讓Colab可以從我們的數(shù)據(jù)文件夾里面讀取內(nèi)容蚌讼。
可是默認(rèn)狀態(tài)下辟灰,Colab根本就不知道我們的數(shù)據(jù)文件夾在哪里——即便我們本來(lái)就是從Google Drive的演示文件夾下面打開(kāi)這個(gè)ipynb文件的。
我們首先要讓Colab找到Google Drive的根目錄篡石。
這原本是一個(gè)相對(duì)復(fù)雜的問(wèn)題芥喇。但是好在我們有現(xiàn)成的代碼,可以拿來(lái)使用凰萨。
請(qǐng)執(zhí)行下面這個(gè)單元格的代碼继控。看不懂不要擔(dān)心胖眷。因?yàn)槟?b>不需要調(diào)整其中的任何語(yǔ)句武通。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools!add-apt-repository -y ppa:alessandro-strada/ppa2>&1> /dev/null!apt-get update -qq2>&1> /dev/null!apt-get -y install -qq google-drive-ocamlfuse fusefromgoogle.colabimportauthauth.authenticate_user()fromoauth2client.clientimportGoogleCredentialscreds = GoogleCredentials.get_application_default()importgetpass!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null2>&1| grep URLvcode = getpass.getpass()!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
執(zhí)行剛開(kāi)始,你會(huì)看到下面的運(yùn)行狀態(tài)珊搀。
過(guò)了一小會(huì)兒冶忱,你會(huì)發(fā)現(xiàn)程序停了下來(lái)。給你一個(gè)鏈接境析,讓你點(diǎn)擊囚枪。并且囑咐你把獲得的結(jié)果填入下面的文本框。
點(diǎn)擊鏈接劳淆,你會(huì)看到下圖链沼。
點(diǎn)擊你自己的Google賬號(hào)茅诱。
然后會(huì)提示你Google Cloud SDK的權(quán)限請(qǐng)求捶惜。
點(diǎn)擊允許后,你就獲得了一長(zhǎng)串字符了潜秋。復(fù)制它們谒臼。
回到Colab頁(yè)面上朝刊,把這一長(zhǎng)串字符粘貼進(jìn)去,回車蜈缤。
你可能認(rèn)為運(yùn)行完畢。不對(duì)冯挎,還需要第二步驗(yàn)證底哥。
又出來(lái)了一個(gè)鏈接。
點(diǎn)擊之后房官,還是讓你選擇賬號(hào)趾徽。
然后Google Cloud SDK又提出了權(quán)限要求。注意和上次的請(qǐng)求權(quán)限數(shù)量不一樣翰守。
你需要再?gòu)?fù)制另外的一串新字符孵奶。
粘貼回去,回車蜡峰。這次終于執(zhí)行完畢了袁。
好了朗恳,現(xiàn)在Colab已經(jīng)接管了你的Google Drive了。我們給Google Drive云端硬盤的根目錄起個(gè)名字载绿,叫做drive粥诫。
!mkdir -p drive
!google-drive-ocamlfuse drive
然后,我們告訴Colab崭庸,請(qǐng)把我們當(dāng)前的工作目錄設(shè)定為Google Drive下的demo-python-image-classification-Google-colab-master文件夾怀浆。
importosos.chdir("drive/demo-python-image-classification-Google-colab-master/")
好了,準(zhǔn)備工作完畢怕享,我們繼續(xù)执赡。
我們需要告訴TuriCreate,圖像數(shù)據(jù)文件夾在哪里函筋。
img_folder ='image'
然后沙合,我們讀入全部圖像文件到數(shù)據(jù)框data。
data = tc.image_analysis.load_images(img_folder, with_path=True)
這里驻呐,你會(huì)發(fā)現(xiàn)讀入速度比較慢灌诅。這確實(shí)是個(gè)問(wèn)題,是否是因?yàn)門uriCreate的SFrame數(shù)據(jù)框在Colab上有些水土不服含末?目前我還不能確定猜拾。
好在咱們樣例中的文件總數(shù)不多,還能接受佣盒。
終于讀取完畢了挎袜。
我們看看data中包含哪些數(shù)據(jù)吧。
data
跟Jupyter Notebook本地運(yùn)行結(jié)果一致肥惭,都是文件路徑盯仪,以及圖片的尺寸信息。
下面蜜葱,我們還是給圖片打標(biāo)記全景。
來(lái)自哆啦a夢(mèng)文件夾的,標(biāo)記為doraemon牵囤;否則標(biāo)記為walle爸黄。
data['label'] = data['path'].apply(lambdapath:'doraemon'if'doraemon'inpathelse'walle')
再看看data數(shù)據(jù)框內(nèi)容。
data
可見(jiàn)揭鳞,標(biāo)記已經(jīng)成功打好炕贵。
我們嘗試用explore()函數(shù)瀏覽data數(shù)據(jù)框,查看圖片野崇。
data.explore()
但是很不幸称开,TuriCreate提示我們,該功能暫時(shí)只支持macOS.
別忘了乓梨,我們現(xiàn)在使用的鳖轰,是Linux操作系統(tǒng)清酥,所以無(wú)法正常使用explore()函數(shù)。不過(guò)這只是暫時(shí)的脆霎,將來(lái)說(shuō)不定哪天就支持了总处。
幸好,這個(gè)功能跟我們的圖像分類任務(wù)關(guān)系不大睛蛛。我們繼續(xù)鹦马。
把數(shù)據(jù)分成訓(xùn)練集與測(cè)試集,我們使用統(tǒng)一的隨機(jī)種子取值忆肾,以保證咱們獲得的結(jié)果可重復(fù)驗(yàn)證荸频。
train_data, test_data = data.random_split(0.8, seed=2)
下面我們正式建立并且訓(xùn)練模型。
model = tc.image_classifier.create(train_data, target='label')
運(yùn)行的時(shí)候客冈,你會(huì)發(fā)現(xiàn)旭从,原本需要很長(zhǎng)時(shí)間進(jìn)行的預(yù)訓(xùn)練模型參數(shù)下載,居然瞬間就能完成场仲。
這是怎么回事兒和悦?作為思考題,留給你自行探索解答渠缕。給你一個(gè)小提示:云存儲(chǔ)鸽素。
TuriCreate自動(dòng)幫我們處理了圖像尺寸歸一化,并且進(jìn)行了多輪迭代亦鳞,尋找合適的超參數(shù)設(shè)置結(jié)果馍忽。
好了,我們嘗試用訓(xùn)練集生成的模型燕差,在測(cè)試集上面預(yù)測(cè)一番遭笋。
predictions = model.predict(test_data)
預(yù)測(cè)結(jié)果如何?我們用evaluate()函數(shù)來(lái)做個(gè)檢驗(yàn)徒探。
metrics = model.evaluate(test_data)print(metrics['accuracy'])
結(jié)果如下:
0.935483870968
我們看看預(yù)測(cè)的結(jié)果:
predictions
dtype: strRows: 31['doraemon','walle','walle','walle','walle','walle','doraemon','doraemon','doraemon','walle','walle','walle','doraemon','doraemon','walle','doraemon','doraemon','doraemon','doraemon','walle','walle','doraemon','doraemon','doraemon','walle','doraemon','doraemon','doraemon','doraemon','doraemon','walle']
再看看實(shí)際的標(biāo)記:
test_data['label']
dtype: strRows: 31['walle','walle','walle','walle','walle','walle','doraemon','doraemon','doraemon','doraemon','walle','walle','doraemon','doraemon','walle','doraemon','doraemon','doraemon','doraemon','walle','walle','doraemon','doraemon','doraemon','walle','doraemon','doraemon','doraemon','doraemon','doraemon','walle']
兩相比對(duì)瓦呼,我們希望找出那些錯(cuò)誤預(yù)測(cè)的圖片存儲(chǔ)位置:
test_data[test_data['label'] != predictions]['path']
下面我們需要直觀瀏覽一下預(yù)測(cè)錯(cuò)誤的圖像。
讀入Jupyter的Image模塊测暗,用于展示圖像吵血。
fromIPython.displayimportImage
我們先來(lái)展示第一幅圖像:
Image(test_data[test_data['label'] != predictions]['path'][0])
結(jié)果如下:
還是老樣子,50層的深度神經(jīng)網(wǎng)絡(luò)模型偷溺,已經(jīng)無(wú)法讓人直觀理解。所以我們無(wú)法確切查明究竟是哪個(gè)判定環(huán)節(jié)上出了問(wèn)題钱贯。
然而直觀猜測(cè)挫掏,我們發(fā)現(xiàn)在整個(gè)照片里,方方正正的瓦力根本就不占主要位置秩命。反倒是圓頭圓腦的機(jī)器人成了主角尉共。這樣一來(lái)褒傅,給圖片形成了比較嚴(yán)重的噪聲。
我們?cè)賮?lái)看看另一幅圖:
Image(test_data[test_data['label'] != predictions]['path'][1])
結(jié)果是這樣的:
這幅圖里面袄友,同樣存在大量的干擾信息殿托,而且就連哆啦a夢(mèng)也做了海盜cosplay。
好了剧蚣,到這里支竹,我們的代碼遷移到Colab工作順利完成。
如你所見(jiàn)鸠按,我們不需要在本地安裝任何軟件包礼搁。只用了一個(gè)瀏覽器和一個(gè)從github下載的文件夾,就完成了TuriCreate深度學(xué)習(xí)的(幾乎)全部功能目尖。
比起虛擬機(jī)安裝Linux馒吴,或者自己設(shè)定云端Linux主機(jī),是不是輕松多了呢瑟曲?
小結(jié)
通過(guò)閱讀本文饮戳,希望你已經(jīng)掌握了以下知識(shí)點(diǎn):
某些深度學(xué)習(xí)框架,例如TuriCreate洞拨,會(huì)有平臺(tái)依賴扯罐;
除了本地安裝開(kāi)發(fā)環(huán)境外,云端平臺(tái)也是一種選擇扣甲;
選擇云端平臺(tái)時(shí)篮赢,特別要注意設(shè)置的簡(jiǎn)便性與性價(jià)比;
如何將數(shù)據(jù)和代碼通過(guò)Google Drive遷移到Colab中琉挖;
如何在Colab中安裝缺失的軟件包启泣;
如何讓Colab找到數(shù)據(jù)文件路徑。
另外示辈,請(qǐng)你在為需求選擇工具的時(shí)候寥茫,記住哈佛大學(xué)營(yíng)銷學(xué)教授萊維特(Theodore Levitt)的那句經(jīng)典名言:
人們其實(shí)不想買一個(gè)1/4英寸的鉆頭。他們只想要一個(gè)1/4英寸的洞矾麻。
這句話不僅對(duì)學(xué)習(xí)者和開(kāi)發(fā)者有用纱耻。
對(duì)于產(chǎn)品的提供者,意義只怕更為重大险耀。
討論
你之前正確安裝了TuriCreate了嗎弄喘?用的什么操作系統(tǒng)?你嘗試過(guò)在云端運(yùn)行Python代碼嗎甩牺?有沒(méi)有比Colab更好的云端代碼運(yùn)行環(huán)境蘑志?歡迎留言,把你的經(jīng)驗(yàn)和思考分享給大家,我們一起交流討論急但。
喜歡請(qǐng)點(diǎn)贊澎媒。還可以微信關(guān)注和置頂我的公眾號(hào)“玉樹(shù)芝蘭”(nkwangshuyi)。
如果你對(duì)數(shù)據(jù)科學(xué)感興趣波桩,不妨閱讀我的系列教程索引貼《如何高效入門數(shù)據(jù)科學(xué)戒努?》,里面還有更多的有趣問(wèn)題及解法镐躲。
作者:王樹(shù)義
鏈接:http://www.reibang.com/p/eebf9a13c52a
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有储玫,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。